Java基础进阶 抽象类、接口
抽象类
1.抽象类无法实例化对象,它是被用来继承的。但是抽象类有构造方法供子类使用
2.final与abstract不能联合使用
3.抽象类不一定有抽象方法,抽象方法
必须出现在抽象类中
4.定义:public abstract void doSome();
5.(重点)非抽象类继承抽象类,必须将抽象类中的方法进行重写
6.以下语句错误:凡是没有方法体的方法都是抽象方法
接口
1.接口是一种“引用数据类型”,且是完全抽象的
2.接口支持多继承
3.接口中只有常量与抽象方法
4.接口中所有元素都是publlic修饰,抽象方法中public abstract可省略,接口中常量public static final可以省略
5.接口中方法不能有方法体
6.当一个非抽象类实现接口时,需要重写接口中所有方法
package com.javastudy.example03;
public class Dog extends Animal1 implements Fly,Eat{
void move() {
System.out.println("重写抽象类dog move!");
}
public void fl() {
System.out.println("重写接口dog fly!");
}
public void eat() {
System.out.println("重写接口dog eat!");
}
public static void main(String[] args) {
Dog dog = new Dog();
dog.fl();
dog.eat();
System.out.println(dog.length);
//多态
Fly dog1=new Dog();
dog1.fl();
System.out.println(dog1.length);
// dog1.eat(); 错误
//多态
Eat cat=new Cat();
//cat.fly(); 错误
cat.eat();
}
static class Cat implements Fly,Eat{
public void eat() {
System.out.println("重写接口cat eat!");
}
public void fl() {
System.out.println("重写接口cat fly!");
}
}
}
浙公网安备 33010602011771号