1、用static修饰的变量是类变量。static是Java中的关键字,用于修饰成员(成员变量和成员 方法),被static修饰的资源叫做静态资源(类资源),全局唯一,全局所有的对象共享。 被static修饰的成员变量和成员方法独立于该类的任何对象。
2、在Java程序中,可以使用private来修饰一个类。但是private不能用来修饰外部类,只能用来修饰内部类(也就是类中的镶嵌类,修饰外部类直接报错),所以一般不会用private来修饰类。
3、 如果一个成员变量被修饰为final的,就是常量,常量必须赋给初值,而且不能再发生变化。 final关键字可以修饰类、成员变量和方法巾的参数。 final类不能被继承,即不能有子类。
4、 System类不能实例化,即不能创建System类的对象。 System类代表当前Java程序的运行平台,程序不能创建System类的对象, System类 提供了一些类变量和类方法,允许直接通过System类来调用这些类变量和类方法。
5、 “有的类定义时可以不定义构造函数,所以构造函数不是必需的”这句话是错误的。 所有的类都是有构造函数的,如果没有显式构造函数,Java默认构造一个空的无参数 无方法的构造函数。
6、 类及其属性、方法可以同时有一个以上的修饰符来修饰。
7、 一个类的静态方法不可以访问该类的非静态成员变量。 因为java中静态的东西是类级别的。
8、 在实例方法或构造器中,this用来引用当前对象,通过使用this可引用当前对象的任何成员。
9、 构造函数名应与类名相同,没有返回类型。
10、类也是一种数据类型。 这里就是要主义区分类和类型。类的定义:是面向对象编程里的概念,也是一种数据类型(type),只不过它不光是包含数据,还包含一系列的针对这些数据的方法,并对外提供的服务。
11、 静态变量是被同一个类的所有实例所共享的。 (上面的第一点有讲哦)
12、 类可以有两种重要的成员:成员变量和方法,类还可以有一种成员:内部类。
13、(结合第七点看,不要看混了) 一个类的非静态方法可以访问静态成员变量。
14、 实例变量只能通过对象名访问,类变量既可以通过某个对象名也可以通过类名来访问。
15、 “引用一个类的属性或调用其方法,必须以这个类的对象为前缀。”这句话是错的 。 如果类是一个静态类,则可以直接使用类名.属性或者类名.方法的方式进行调用,如果类是非静态类,则需要通过new 来实例化一个类的对象,通过这个类的对象来调用方法和属性。
16、 声明构造方法时,不可以使用private访问修饰符 。 构造函数是用于初始化对象用的,将构造函数私有化了之后,new对象时,对象不能访问构造函数,会导致对象初始化失败。
17、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( C)。
A.隐藏
B.覆盖
C.重载
D.Java不支持此特性
涉及的知识:重载(方法的重载是一个类中多态的一种体现)是指同一个类中有多个方法的方法名字相同但是参数列表不同(即参数个数不同、参数的数据类型不同、不同数据类型的参数顺序不同)。注意的是:方法的重载和修饰符、有无返回值、和返回值类型、和参数名无关。
18、以下关于构造函数的描述错误的是(A)。
A.构造函数的返回类型只能是void型。
B.构造函数是类的一种特殊函数,它的方法名必须与类名相同。
C.构造函数的主要作用是完成对类的对象的初始化工作。
D.一般在创建新对象时,系统会自动调用构造函数。
解析:参见第九点知识
19、在Java中用什么关键字修饰的方法可以直接通过类名来调用?(A)
A.static
B.final
C.private
D.void
解析:第十五点知识点
20、在Java中,"456"属于(B)类的对象。
A.int
B.String
C.Integer
D.Number
解析:有双引号说明是字符串。若没有这个引号,那么这就是一个整型
21、下面关于缺省构造方法的描述中正确的是(A)。
A.当类中没有定义任何构造方法时,Java编译器将为这个类创建缺省构造方法
B.缺省构造方法可以初始化其他方法中定义的变量
C.Java编译器会为所有的类创建缺省构造方法。
D.如果在一个类中定义的构造方法都声明了参数,Java编译器将为这个类创建一个缺省构造方法
解析:参见第五点知识点
22、对于类与对象的关系,以下说法错误的是( D)。
A.类是对象的类型
B.对象由类来创建
C.类是同类对象的抽象
D.对象是创建类的模板
解析:类决定对象将会拥有的特征属性和行为方法。对象是以类为模板创建的具体实例 。
23、类中某方法定义如下: double fun(int a,int b){ return a*1.0/b; } 同一类内其它方法调用该方法的正确方式是(A)。
A.double a = fun(1,2)
B.double a = fun(1.0,2.0)
C.int x = fun(1,2)
D.int x = fun(1.0,2.0)
24、下述哪条关于构造方法的说法,不符合Java语法的规定(C)。
A.每个类至少有一个构造方法
B.构造方法必须与类同名
C.构造方法无返回值,其返回值类型必须写为void
D.构造方法可以是private的
解析:参见第九条知识点,不需要在构造方法前面加上void,它的作用只是初始化。
25、方法体内定义的变量称局部变量,下述关于局部变量的说法中错误的是(C)。
A.局部变量仅在所定义的代码块内(花括号对内)有效
B.局部变量不能加修饰词修饰
C.局部变量不能与类中的成员变量同名
D.局部变量未经赋值不能使用
解析: 局部变量可以和成员变量重名,不加“this”修饰时,优先使用最近的变量。 他们之间没有太大的关系
26、若需要定义一个类属性或类方法,应使用哪种修饰符?( A)
A.static
B.package
C.private
D.public
解析:参见第一条知识点
27、类的实例方法表示的是什么?( C)
A.父类对象的行为
B.类的属性
C.类对象的行为
D.类的行为
解析:和22题相似
函数题
1、 设计一个矩形类Rectangle
2、 Person类
编程题
1、构造方法
2、设计一个BankAccount类
3、Circle类
4、MyDate类
5、构造函数与toString