abstract抽象类和interface接口

abstract抽象类

1.可以修饰类和方法,修饰的类叫抽象类,修饰的方法叫抽象方法

2.抽象类中可以没有抽象方法,但抽象方法一定存在抽象类中

3.子类继承了抽象类,必须要实现抽象类的所有抽象方法,否则该子类也需要声明为抽象类

4.抽象类不能被实例化(也就是不能new),抽象类是用来让子类继承的

5.抽象方法只有方法的声明,没有方法体,是用来让子类去实现的

6.子类实现了父类的抽象方法后,可以正常的的进行实例化,并通过实例化对象调用方法

public abstract class chouxiang {
    public abstract void doSome();
}
class A extends chouxiang{
    @Override
    public void doSome() {
        System.out.println("调用抽象方法");
    }
}
class Test {
    public static void main(String[] args) {
        A a=new A();
        a.doSome();
    }
}

 interface接口

1.接口是由常量和抽象方法组成的特殊类,是对抽象类的进一步抽象

2.接口中的属性默认使用“public static final”来修饰,方法默认使用“public abstract”来修饰

3.接口不能实例化,没有构造方法

4.当一个类实现接口时,如这个类是抽象类,则可实现接口中的部分方法,否则需要实现就口中所有的方法

5.一个类通过implements实现接口时,可以实现多个接口,接口之间用逗号隔开

interface Run{
    void run();
}
interface Go{
    void go();
}
public class A implements Run,Go {
    public void run() {}
    public void go() {}
}

6.一个接口可以通过extends实现多个接口,接口之间用逗号隔开

interface Run{
    void run();
}
interface Go{
    void go();
}
interface B extends Run,Go{}

7.一个类在继承另一个类的同时还可以实现多个接口,extends必须位于implements前面

interface Run{
    void run();
}
interface Go{
    void go();
}
class Swim{
    public void swim(){
        System.out.println("swim");
    }
}
public class A extends Swim implements Run,Go {
    public void swim() {
    }
    public void run() {
    }
    public void go() {
    }
}

interface Run{
    void run();
}
interface Go{
    void go();
}
public class Anmial implements Run,Go{
    public void run() {
        System.out.println("run");
    }
    public void go() {
        System.out.println("go");
    }
}
class Test {
    public static void main(String[] args) {
        Anmial A1=new Anmial();
        A1.run();
        A1.go();
    }
}
posted @ 2022-03-24 23:44  初心不曾负  阅读(60)  评论(0)    收藏  举报