Java学习笔记之抽象类与接口

抽象类(abstract)

抽象类概述一个类被abstract修饰表示这个类是抽象类, 自己定义方法但是不实现方法,后代去实现

抽象方法:   一个方法被abstract修饰表示这个方法是抽象方法 ,抽象方法没有方法体        

特点

1,有抽象方法的类一定是抽象类,抽象类不一定有抽象方法。 抽象类有0-N个抽象方法

2,抽象类不能实例化,意思是不能new一个抽象类

3,凡是继承抽象类的类,必须实现抽象类的方法或者自己也是一个抽象类

4,构造方法和static方法不能是抽象的

下面为一个实例

抽象类Person

 1 public abstract class Person {
 2     //私有属性性别
 3     private String sex;
 4     //有参构造
 5     public Person( String sex){
 6         this.sex=sex;
 7     }
 8     //抽象方法
 9     public abstract void doSomething();
10     
11 }

子类Student

 1 public class Student extends Person{
 2 
 3     private String name;//名字
 4     private int age;//年龄
 5     //有参构造
 6     public  Student(int age){
 7         super("男");
 8         this.age=age;
 9     }
10     public Student(int age,String name){
11         this(age);
12         this.name=name;
13     }
14     public void doSomething(){
15         System.out.println("我是学生类实现抽象方法doSomething");
16     }
17 
18 }

子类Teacher

 1 public class Teacher extends Person {
 2     public Teacher(String sex) {
 3         super(sex);
 4     }
 5 
 6     public void doSomething(){
 7         System.out.println("我是老师类实现抽象方法doSomething");
 8     }
 9    
10 }

测试类Text

1 public class Text {
2 
3     public static void main(String[] args) {
4         Person p=new Student(12);
5         p.doSomething();
6         Person p1=new Teacher("男");
7         p1.doSomething();
8     }
9 }

控制台输出结果为:

我是学生类实现抽象方法doSomething
我是老师类实现抽象方法doSomething

接口(interface)

猜你喜欢

转载自www.cnblogs.com/sunzhiqiang/p/11693948.html