} 答案:
变量x : 类作用域 变量y : 块作用域 方法cude : 类作用域 变量 I : 块作用域 变量 yPos : 块作用域 四、简答题
1. 面向对象的软件开发方法用什么把数据和基于数据的操作封装在一起?(类) 2. 在一个类定义中,用什么描述对象的状态? 用什么描述对象的行为?(属性;方法) 3. 什么方法是一个特殊的方法,用于对对象进行初始化? (构造方法)
4. 一个源程序文件中,能有多于一个的 public 类吗?(不能) 5. 构造方法的方法名可由编程人员任意命名吗? (不能,必须与类名同名)
6. 类的构造方法名必须和类名相同吗?(必须) 7. 构造函数有返回值吗?(没有) 8. 构造函数可以重载吗? (可以)
9. 如果一个类定义中没有定义构造方法,该类有构造函数吗?
(有,编译器会自动生成一个缺省的不带参数的构造函数)
10. 如果一个类定义中已经定义了构造方法,java还会给它定义缺省的构造方法吗?(不会)
11. 类的访问控制权有哪两种?(public 和 缺省的(即没有访问控制修饰符)) 12. 用什么修饰符修饰的方法称为静态方法? 用什么修饰符修饰的属性称为静态属性?(static)
13. 静态属性和静态方法仅属于类的一个具体对象吗?它属于谁? (不是;它是类的所有对象公有的)
14. static 变量能是 private 变量吗?(可以)
15. 使用静态成员都能以什么做前缀?(可以用类名或对象名做前缀) 16. static方法中能有this引用吗?(不能) 17. 非static方法中可以有this引用吗?(可以) 18.static方法能处理非static成员吗?(不能) 19.非static方法能处理static成员吗?(能)
20. 类的私有属性和私有方法能不能被其子类直接访问? (不能) 五、编程题 1、基本类定义:
编写一个类,描述学生的学号、姓名、成绩。学号用整型,成绩用浮点型,姓名用String类型。
编写一个测试类,输入学生的学号和成绩,并显示该学号的学生姓名,以及成绩。
class Student{ }
public class T1_Student{
public static void main(String[] args){ }
Student s=new Student(); s.sNum=101; s.score=97; s.name=\张三\ } int sNum; double score; String name;
2、基本类定义:
将上述类进行改写,学生拥有判断自己的成绩是否及格的功能。并能够打印输出自己的姓名和是否及格的信息(方法名:printInfo()) 编写一个测试类,对学生类进行测试。 class Student{
int sNum;
double score; String name; void printInfo(){ }
if(score>=60){
}
else{ }
}
public class T1_Student{
public static void main(String[] args){ }
Student s=new Student(); s.sNum=101; s.score=97; s.name=\张三\ s.printInfo(); }
3、设计一个Birthday类,其成员变量有:year,month,day;提供构造方法、输出Birthday
对象值的方法和计算年龄的方法。编写程序测试这个类。 public class Birthday {
private int year; private int month; private int day;
public Birthday(int year,int month,int day) {
this.year=year; this.month=month; this.day=day; }
public void print() {
“您的生日是:”+year+” 年”+month+” 月”+day+” 日”); }
public void age() {
int age= int age=Calendar.getInstance().get(Calendar.YEAR)-year;