二、Java初级--12、抽象类和内部类

1、抽象类

  • abstract class 包含抽象方法的类,叫做抽象类

  • 接口可以理解为纯抽象类

  • 抽象类用于被继承,被其他类拿来当做父类使用
    “Cannot instantiate the type Person”抽象类不能被实例化

  • a.编写类的时候,其中包含了抽象方法,即为抽象类;

  • b.实现接口的时候,其中有的抽象方法没有实现;

  • c.继承抽象类后,其父类中的抽象方法没有实现。

抽象类Person

package javastudy;

public abstract class Person {
    public void eat(){
        System.out.println("动物吃饭"); 
    }
    public abstract void study();  //编写类时,包含了抽象的方法
}

student类

package javastudy;

public class student extends Person{

    @Override
    public void study() {
        // TODO Auto-generated method stub
        System.out.println("学习!");//继承抽象类后,其父类中的抽象方法没有实现
    }
}

Testit类

package javastudy;

public class Testit {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
//      Person z=new Person();
        student s=new student();
        s.study();
        s.eat();
    }
}
结果
二、Java初级--12、抽象类和内部类_第1张图片
结构

stud接口

package javastudy;

public interface stud {
    public void study();
}

teacher接口

package javastudy;

public interface teacher {
    public void teach();
}

Assist类

package javastudy;

public abstract class Assist implements stud, teacher {

    @Override
    public void study() {
        // TODO Auto-generated method stub
        System.out.println("hello,学习"); //实现接口的时候,其中有的抽象方法没有实现,只实现了stud方法
    }
}

2、内部类

类中又包含类,举例如下:

package javastudy;

public class Outer {
    public int age;
    class inner{  //定义一个内部类
        public int sex;
    }
}

你可能感兴趣的:(二、Java初级--12、抽象类和内部类)