1.Java程序使用的类分为那两大类?什么是类库1.
答:一种是用户自定义的类,一种是系统定义的类。
Java类库就是系统定义的类,它是系统提供的已实现的
类的集合,提供了Java程序与运行它的系统软件(Java虚拟机)之间的接口。
2.如何定义方法?在面向对象程序设计中方法有什么作用?
答:[可访问性修饰符][static]
[abstract][final] 返回类型 方法名(参数表)[throws 异常类名表]
作用:方法是类的动态属性。对象的行为是由它的方法来实现的。一个对象可通过另一个对象的方法来访问该对象
6.什么是修饰符?修饰符有哪些种类?它们各有何作用?
(1)修饰符用于放在类名,域名,方法名前表示其特征和访问控制性。
(2)修饰符按种类分:访问控制符和非访问控制符。
修饰符按修饰对象分:类的修饰符,域的修饰符,方法的修饰符。
(3)访问控制符有:public ,protected ,private以及默认修饰符
非访问控制符有(常用):static ,abstract ,final
(4)final作用:①final类,表明该类没有任何子类,不能被继承。②final域,表明该域为常量。③final方法,表明该方法不能被当前类的子类重新定义,即不能其子类的方法“覆盖”。
static作用:①静态域。②静态方法。
abstract作用:①抽象类,表明该类不能创建对象,可以是它的所有子类的公共属性的集合。②抽象方法,仅含有方法声明的部分,而没有具体的方法体和操作实现部分,可以隐藏具体的细节信息。
访问控制符作用:限定类,域和方法是否可被其他类访问。
8.如何定义静态域?静态域有什么特点?
答:static 数据类型 域名;
静态域的特点:属于类的公共域,为该类所有对象所共享。它可看作在类范围内的全局变量。可由静态方法和实例方法所使用。
9.为什么要定义静态方法?静态方法有何特点?静态方法处理的域有什么要求?
答:用static修饰的方法,是属于整个类的方法。在一个类中定义一个方法为static,无需本类的对象即可调用此方法
特点:(1)调用这个方法时,应该使用类名做前缀,而不是使用某个具体的对象名。
(2)static方法属于整个类的,它在内存中的代码段是随着类的定义而装载,不被任何一个对象单独拥有。
(3)static方法只能处理static域。
静态方法处理域只能处理static域
10.什么是抽象方法?如何定义抽象方法,使用抽象方法?
抽象方法:用abstract修饰,仅含有方法的声明部分,而没有具体的方法体和操作实现部分。
定义抽象方法:abstract 返回类型 方法名();
抽象方法的使用:抽象方法必须存在于抽象类中。如果抽象类的子类不是抽象类,则它必须实现父类中所有的抽象方法。
11.什么是访问控制符?有哪些访问控制符?其中哪些可以用来修饰类?哪些用来修饰域和方法?
访问控制符是一组限定类、域或方法是否可以被程序里的其他部分访问和调用的修饰符
访问控制符有:private, protected,public,默认修饰符。
修饰类的访问控制符有:public和默认修饰符。
修饰域和方法的访问控制符有:public,protected ,private, 默认修饰符。
12.试述不同访问控制符的作用。
答:(1)公共访问控制符(public)
public类:公共类,可被其他包中类引入后访问。
public方法:是类的接口,用于定义类中对外可用的功能方法。
public域:可被其他类访问。
(2)默认访问控制符的类,域,方法:具备包访问性。
(3)保护访问控制符(protecteded)修饰的域或方法:可被类自身,同一包中的类,任意包中的子类所访问。
(4)私有访问控制符(private)修饰的域或方法:只能被自身所访问。
13.包的作用是什么?如何在程序中引入已定义的类?使用已定义的用户类,系统类有哪些主要方式?
答:包的作用:①把多个同一类型的类组织在一起,使得程序功能清楚,结构分明。②可用于实现不同程序间类的重用。 使用import语句引入已定义的类。使用已定义的用户类:①继承用户类public class MidStudent extends Student
②创建用户类的对象。例:
Student stu=new Student();
使用系统类:①继承系统类。例:
public class MyApplet extends Applet
②创建系统类的对象。例:String str;
③直接使用系统类。例:Math.pow(i,3);
1. 什么是继承?继承的意义是什么?如何定义继承关系?
答:继承:通过在不同层次上进行抽象,得到子类(派生类)和父类(基类),子类可以自动拥有父类的非私有属性和方法。
继承的意义:
程序结构清晰。
编程量减少。
易于修改和维护。
继承关系:当一个类自动拥有另一个类的所有非私有域和方法时,就称这两个类之间具有继承关系。被继承的类称为父类,继承了父类的类称为子类。
4.什么是域的隐藏?什么是方法的覆盖?方法的覆盖与域的隐藏有何不同?方法的覆盖与方法的重载有何不同?
子类重新定义一个与从父类继承来的域变量完全相同的变量,称为域的隐藏.即子类中定义了与父类同名的域变量,就是子类变量对同名父类变量的隐藏.
方法的覆盖是指子类重定义从父类继承来的一个同名的方法,此时父类的这个方法在子类中将不复存在.
子类隐藏父类的域只是使之不见,父类的同名域在子类对象中仍然占有自己独立的内存空间;而子类方法对父类同名方法的覆盖,将清除父类方法在子类中的任何信息,从而使父类方法在子类对象中不复存在.
1、方法的覆盖是子类和父类之间的关系;方法的重载是同一个类中方法之间的关系
2、覆盖只能由一个方法,或只能由一对方法产生关系;方法的重载是多个方法之间的关系。
3、覆盖要求参数列表相同;重载要求参数列表不同。
4、覆盖关系中,调用那个方法体,是根据对象的类型(对象对应存储空间类型)来决定;重载关系,是根据调用时的实参表与形参表来选择方法体的。
5.如何实现方法的覆盖?实现方法的覆盖应注意些什么?
子类在重新定义父类已有的方法时,应保持与父类完全相同的方法头部声明,即应保持与父类有完全相同的方法名,返回类型和参数列表,否则就不是覆盖方法,而是子类定义了自己的与父类无关的方法,父类的方法仍然存在于子类中
6.什么是多态?面向对象程序设计为什么要引入多态的特征?使用多态有什么优点?
多态是指同名的不同方法在程序中共存.因为在面向对象程序设计中,各函数是不能重名的,否则在用名字调用时就会产生歧义和错误,所以就需要引入多态的特征来提高程序的抽象度和简洁性.
(1)派生类的功能可以被基类的方法或引用变量所调用,这叫向后兼容,可以提高可扩充性和可维护性。
(2)应用程序不必为每一个派生类编写功能调用,只需要对抽象基类进行处理即可。大大提高程序的可复用性。
7.Java中如何实现多态?有哪些实现方法?
多态是多种形式或形态,它在计算机程序设计语言中代表一种能力,即用一个特定类型的变量来引用不同类型的对象,并且根据引用对象的不同而自动的调用相应的方法。比如说我们想象一个农民种蔬菜的列子,Vagetable包括Potato和Cabbage两种蔬菜。农民中类中只需种蔬菜,并不用知道它具体是哪种蔬菜,只需要把实现了蔬菜类的土豆和大白菜放进方法里就可以了,然后java会根据多态的特性来自动为我们调用土豆类的方法和大白菜类的方法。
覆盖实现多态性和继承实现多态性.第一种方法的多态即通过子类对父类方法的覆盖实现的多态,方法的名字,参数个数,类型,顺序完全相同.第二种方法即在同一个类中定义多个同名的方法,要使用不同形式的参数.
10.解释this和super的意义和作用?
this的意义表示当前对象的引用.作用是可以用来显示调用同类的其他构造方法或使用当前对象的成员变量.super的意义是用来连接当前子类对象中父类的引用,意义是可以用来显示调用父类的构造方法和访问从父类继承来的数据成员和方法.
11.什么是构造方法的重载?如何实现构造方法的重载?
是指同一个类中定义不同参数的多个版本的构造方法,以完成不同情况下对象的初始化.
重载发生在同一个类中
特征是:方法名一样,参数列表不一样。
重载例子:
class A{
public void test(){};
public void test(int i){};
public void test(int i,String y){};
}
12.构造方法的继承原则有哪些?继承方式下子类的构造方法如何设计?
(1)子类无条件地继承父类的无参数的构造方法.
(2)如果子类没有定义构造方法,则它将继承父类的无参数构造方法作为自己的构造方法;如果子类定义了构造方法,则在创建新对象时,将先执行来自继承父类的无参数构造方法,然后再执行自己的构造方法.
(3)对于父类的带参数的构造方法,子类可以通过在自己的构造方法中使用super关键字调用它,但这个调用语句必须是子类构造方法的第一个可执行语句.
(1)仅调用父类的无参数构造方法
(2)定义自己的一个(或多个)构造方法并调用父类的带参数的构造方法
1.图形界面中所要用的基本类可划分为几种类型?它们各自的作用是什么?设计和实现图形用户界面的工作主要有那些?
(1)基本的窗口类:作载体,在这个载体上加入其他构件,相当于一个容器,容纳菜单条,按钮,列表这样的构件(2)基本的GUI构建类:实现与用户的交互,能够方便的用于输入/输出(3)基本的事件接口:将构件产生的动作事件与一个特定的事件响应方法联系起来(4)基本的版面控制(5)基本的绘图类
2.为什么说Frame是非常重要的容器?程序中如何使用Frame类?
3.简述Java的事件处理机制.什么是事件源?什么是监听者?Java的图形用户界面中,谁可以充当事件源?谁可以充当监听者?
java的事件处理机制就是,事件源允许监听器注册的事件对象,在事件发生的时候想相关的注册对象发送一个,事件对象,监听器便根据相关的信息来选择运行相关的代码。