一:抽象类
抽象类很好理解,就是在public
后加abstract。值得注意的是抽象类中既可以有抽象方法也可以有非抽象方法。当抽象类中定义了抽象方法时,继承于它的子类必须重写所有的抽象方法。
在Java中,所有的类都是从Obje这个类继承出来的。
//父类
public abstract class a {
public a() {
}
public a(int age) {
this.age = age;
}
public abstract void eat();
public void jump()
{
System.out.println("ywq跳跳跳");
}
private int age = 10;
private final String name = "ywq";
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
}
//子类
public class b extends a{
public b() {
}
public b(int age) {
super(age);
}
@Override
public void eat() {
System.out.println("ywq吃饭饭啦");
}
}
//主类
public class demo {
public static void main(String[] args) {
b ala = new b();
ala.age = 18;
// ala.name = "lmx";
// 注意到若这样写则会报错,说明抽象类中的final依然起常量作用
ala.eat();
ala.jump();
}
}
输出:
18
ywq吃饭饭啦
ywq跳跳跳
二.接口
-
接口其实就是提取出一个基本点然后抽象行为。
-
接口中的变量默认为常量(即不用写final,直接定义即可)
-
接口中的方法默认为抽象方法(即不用写abstract,直接定义即可)
-
接口是interface定义,用implements实现
-
接口中的方法必须在实现它的类中进行重写
-
接口可以多层实现,如:有inter1,inter2,inter3,三个接口,一个类可同时实现3个接口
public class 类名 extends Object implements inter1,inter2,inter3{
}
love
ywq