问答题
(1)面向对象语言有哪三个特性?
(2)类名应当遵守怎样的编程风格?
(3)变量和方法的名字应当遵守怎样的编程风格?
(4)类体内容中声明成员变量是为了体现对象的属性还是行为?
(5)类体中定义的非构造方法是为了体现对象的属性还是行为?
(6)什么时候使用构造方法?构造方法有类型吗?
(7)类中的实例变量在什么时候会被分配内存空间?
(8)什么叫方法的重载?构造方法可以重载吗?
(9)类中的实例方法可以操作类变量(static变量)吗?类方法(static方法)可以操作实例变量吗?
(10)类中的实例方法可以用类名直接调用吗?
(11)简述类变量和实例变量的区别。
(12)this关键字代表什么?this可以出现在类方法中吗?
问答题解析
1.封装、继承和多态。
2.当类名由几个单词复合而成时,每个单词的首字母使用大写。
3.名字的首单词的首字母使用小写,如果变量的名字由多个单词组成,从第2个单词开始的其他单词的首字母使用大写。
4.属性。
5.行为。
6.用类创建对象时。没有类型。
7.用类创建对象时。
8.一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即是参数的个数不同,或者是参数的类型不同。可以。
9.可以。不可以。
10.不可以。
11.一个类通过使用new运算符可以创建多个不同的对象,不同的对象的实例变量将被分配不同的内存空间。所有对象的类变量都分配给相同的一处内存,对象共享类变量。
12.代表调用当前方法的对象。不可以。
选择题
(1) 下列哪个叙述是正确的?
A. Java应用程序由若干个类所构成,这些类必须在一个源文件中。
B. Java应用程序由若干个类所构成,这些类可以在一个源文件中,也可以分布在若干个源文件中,其中必须有一个源文件含有主类。
C. Java源文件必须含有主类。
D. Java源文件如果含有主类,主类必须是public类。
(2) 下列哪个叙述是正确的?
A. 成员变量的名字不可以和局部变量的名字相同。
B. 方法的参数的名字可以和方法中声明的局部变量的名字相同。
C. 成员变量没有默认值。
D 局部变量没有默认值.。
(3) 对于下列Hello类,哪个叙述是正确的?
A. Hello类有两个构造方法。
B. Hello类的int Hello()方法是错误的方法。
C. Hello类没有构造方法。
D. Hello无法通过编译,因为其中的hello方法的方法头是错误的(没有类型)
Java
class Hello{
Hello (int m){
}
int Hello(){
return 20;
}
hello(){
}
}
(4)对于下列Dog类,哪个叙述是错误的?
A. Dog(int m)与Dog(double m)是互为重载的构造方法。
B. int Dog(int m)与void Dog(double m)是互为重载的非构造方法。
C. Dog类只有两个构造方法,而且没有无参数的构造方法。
D. Dog类有三个构造方法。
Java
class Dog{
Dog(int m){
}
Dog(int double m){
}
int Dog(int m){
return 23;
}
void Dog(double m){
}
}
(5) 下列哪些类声明是错误的?
A. class A
B. public class A
C. protected class A
D. private class A
(6) 下列A类中【代码1】~【代码5】哪些是错误的?
Jav