一、选择题
1、B
2、D
3、AC
4、BD
5、B
二、简答题
- 面向过程和面向对象的区别。
面向过程和面向对象都是一种解决问题的方法,面向对象适合解决复杂问题时的统筹作用,而在细节方面同样需要用到面向过程的思想;面向过程适合解决简单问题。 - 类和对象的关系
类是对象的抽象,对象是类的实例 - 构造方法的作用和特征
①通过NEW关键字调用
②构造器虽然有返回值,但是不能定义返回值类型(返回的肯定是本类),不能在构造器中用Return返回值
③构造方法名必须和类名相同
④如果我们没有定义构造器,编译器会帮我们添加一个无参的构造器,如果已定义,则编译器不会添加 - this关键字的作用和用法
“this”的本质就是创建好的对象的地址,在构造方法之前对象已经被创建好了,因此可以用“this”可以在构造方法中代表当前对象
①在程序中产生二义性之处时,应使用this来指明当前对象;普通方法中,this总是指向调用该方法的对象;在构造方法中,this总是指向正要初始化的对象
②使用this关键调用重载的构造方法,避免相同的初始化代码,但只能在构造方法中且必须放在第一句
③this关键字不能使用在static方法中 - 简述static关键字的作用。
提示:从static可以修饰变量,方法,代码块,三个方面来回答。
①static修饰的变量称为静态变量,属于类,又称为类变量,被该类所有对象共享,且在类被载入时初始化
②static修饰的方法称为静态方法,在static方法中不能调用非static的方法
③一般用类名.类属性//方法名来调用
三、编码题
1. 编写 Java 程序用于显示人的姓名和年龄。定义一个人类Person。 该类中应该有两个私有属性: 姓名 (name) 和年龄 (age) 。定义构造方法用来初始化数据成员。再定义显示(display()) 方法将姓名和年龄打印出来。在 main 方法中创建人类的实例然后将信息显示。
package cn.sxt.Exam;
public class Person {
int age;
String name;
Person(int age,String name){
this.age = age;
this.name = name;
}
public void display() {
System.out.println(this.age);
System.out.println(this.name);
}
public static void main(String[] srgs) {
Person p = new Person(18,"吴祥锦");
p.display();
}
}
2. 定义一个圆类——Circle,在类的内部提供一个属性:半径®,同时 提供 两个 方 法 : 计算 面积 ( getArea() ) 和 计算 周长(getPerimeter()) 。 通过两个方法计算圆的周长和面积并且对计算结果进行输出。最后定义一个测试类对 Circle 类进行使用。
package cn.sxt.Exam;
import static java.lang.Math.*; //导入Math类中的所有静态属性
public class Circle {
static double r;
//带型参的构造方法
Circle(double r) {
this.r = r;
}
//求面积的方法并输出面积
public static void getArea() {
double s=PI*r*r;
System.out.println("该圆的面积:S = "+ s);
}
//求周长的方法并输出周长
public static void getPerimeter() {
double p= 2*PI*r;
System.out.println("该圆的周长:P = "+p );
}
//开始和测试方法
public static void main(String[] args) {
Circle C = new Circle(3.00);
C.getArea();
C.getPerimeter();
}
}
3. 构造方法与重载:定义一个网络用户类,信息有用户 ID、用户密码、 email 地址。在建立类的实例时把以上三个信息都作为构造函数的参数输入, 其中用户 ID 和用户密码时必须缺省时 email地址是用户 ID 加上字符串"@gameschool.com"。