1. this :
当前对象引用
当前对象
当前类的构造方法
super :
父类构造方法
用于调用父类同名方法或数据成员
2. 分配内存空间, 默认初始化, 调用构造函数, 构造函数中调用父类构造函数。
3. 局部变量显式初始化
4.
// FlyBehavior.java
public interface FlyBehavior{
abstract public void fly();
}
//test.java
abstract class Animal{
abstract protected void quake();
}
class Dog extends Animal{
protected void quake(){
System.out.println("wang wang !!!");
}
}
class Bird extends Animal implements FlyBehavior{
protected void quake(){
System.out.println(" ji ji !!!");
}
public void fly(){
System.out.println("flyByWings !!!");
}
}
public class test{
public static void main(String[] args){
Animal d= new Dog();
Bird b = new Bird();
d.quake();
b.quake();
b.fly();
}
}
5. 接口可以很好的扩展代码, 利于重构
面向接口编程
代码见 t4
6.
二者都有抽象方法, 都能引用子类或实现类对象。
抽象类可以有变量, 可以有具体方法, 必须有子类继承, 扩展性弱。
接口不能有变量, 只能是静态变量, 必须有实现类实现, 扩展性强。
7. equals == instanceof
8. 便于访问外部类。
只需要获得对象实例时。
9.
D
10.
隐藏对应着重载(overload)
覆盖对应着重写(override)
12.
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class MyApplet extends Applet implements ActionListener{
private TextField input;
private String s = "";
public void init(){
input = new TextField(" ");
add(input);
input.addActionListener(this);
}
public void paint(Graphics g){
g.drawString(s, 25, 25);
}
public void actionPerformed(ActionEvent e){
s = input.getText();
repaint();
}
}