抽象
package 面向对象猫猫狗狗.pets;
public abstract class animal {
public animal(){}
public String laugh(){
return "大家都是笑嘻嘻的";
}
public static void eat()
{
System.out.println("所有的动物都可以吃");
}
public abstract String run ();
}
- 1)Abstract关键字,定义了abstract的类不能被实例化,定义了abstract的方法在子类中必须被重写,否则编译不通过
- 2)抽象类:应用场景,某个父类只是知道其子类应该包含怎样的方法,但无法准确知道这些子类如何实现这些方法。
- 3)抽象方法,没有方法体
- 4)抽象类,抽象方法存在的意义
public class pets extends animal {
String name;
int month;
String Variety;
double price;
@Override
public String run() {
return null;
}
}
接口
public interface Ifly {
int temp = 49;
public void fly ();
default void food(){
System.out.println("会飞的动物也有jiojio");
}
static void sleep(){
System.out.println("会飞的动物也要睡瞌睡");
cat cat = new cat();
cat.food();
}
}
- 1)Java只支持单继承,如果多继承怎么办呢?比如:手机的发展史,通话,拍照,上网,打游戏,看视频
- 2)接口中的方法
- 3)接口中的属性
- 4)接口中的默认方法(jdk1.8版本之后才支持的一个特性)
- 5)接口中的静态方法
@Override
public void fly() {
}