1.this和supper各有几种用法
this用法:
(1)this.域变量,this.成员方法。当成员方法的形参名与域变量名相同,或者成员方法的局部变量名与域变量名相同时,在方法内借助this来明确表示用的是类的域变量。
(2)this(参数)——引用重载的构造方法。
(3)this指代当前对象。
supper用法:
(1)super.域变量,supper.成员方法(参数)。
(2)supper(参数)——构造方法的继承
2.子类对象实例化的具体过程是什么?
(1)为子类对象分配内存空间,对域变量进行默认初始化。
(2)绑定构造方法,将new对象中的参数传递给构造方法的形式参数。
(3)调用this或supper语句,注意二者必居其一,但不能同时存在。
(4)进行实例变量的显示初始化操作。
(5)执行当前构造方法体中的程序代码。
3.类的域变量和方法中定义的局部变量在初始化上有何区别?
类的域变量在类初始化的时候就创建了,而方法中定义的局部变量只有在调用该方法的时候才会进行初始化。
4.模仿形成抽象类的过程,自选角度,形成一个自己的抽象类,并在程序的类继承和引用中体现抽象类的作用。
abstract class Shapes{
protect int x,y;
public Shapes(int x,int y){
this.x=x;
this.y=y;
}
abstract public double getArea();//继承时进行复用
}
class Rect extends Shapes{
public double getArea(){
return x*y;
}
public double getArea(Shapes s){//抽象类的引用
return s.getArea();
}
}
5.接口有什么作用?自己定义一个接口,并给出实现类和使用类。
作用:先定义接口,实现者按照接口实现,使用者按照接口使用。当实现者内部发生变化时,只要接口不发生变化,使用者就不必更改其代码。
interface Washer{//定义接口
public abstrct void startUp();
}
class RoseBrand implements Washer{//实现接口
public void startUp(){
System.out.printLn("stratUp")
}
}
public class Consumer{
public static void main(String args[]){
Washer w=new RoseBrand();
w.startUp();
}
}