抽象类接口和继承

来源:互联网 发布:mac卸载战网客户端 编辑:程序博客网 时间:2024/05/01 22:01

抽象类接口和继承

.抽象类

       1. 形式: public abstract class类名{}

       2. 抽象类中的属性:变量和常量都可以定义

       3. 抽象类中的方法:构造方法、普通方法、抽象方法都可以拥有

       4. 抽象类不能创建对象,虽然它能够有构造方法,但是这个构造方法不能够使用

       5. 抽象类的继承   子类名  extends  抽象类

       6. 子类在继承抽象类时,需要把抽象类中的所有抽象方法重写一遍

 

        例如:

              public abstract class Person{

               public String name;  //变量

              public static final int age = 20//常量,一定要初始化

public Person(){}    //构造方法

                 public void eat () {}    //普通方法

                public static void study(); //抽象方法

}

 

 

             public class Student extends Person{

              Public void study(){

              System.out.println(“学生在学习”);   //重写抽象类的抽象方法

}

}

 

二.接口

     1. 形式 public interface类名{}

     2. 接口中的属性:只能够是常量

     3. 接口中的方法:只能够是抽象方法

     4. 由于接口中没有构造方法,所以接口不能够创建对象

     5. 接口的继承  类名 implements接口名

     6. 由于接口中的方法都是抽象方法,所以子类在继承接口时,需要把接口中的抽象方法重写一遍

     7. 由于接口中只存在常量和抽象方法,所以常量和抽象方法前的修饰词可以省略不写。(不写 不代表 不是 常量和抽象方法)

      例如:

          public interface Person{

            public static final String name = “张三”;

            public abstract void eat();

}

     public class Teacher implements Person{

         public void eat(){     //重写Person接口的eat()方法

           System.out.println(“老师在吃饭”);

}

}

 

三.抽象类和接口有什么用?

      用于被继承,当作父类,而不是用来创建对象,使用来约束子类的方法定义

     因为抽象类和接口的抽象方法在被子类继承时,一定要去重写这些抽象方法

 

四.普通类、抽象类和接口的区别 

 

普通方法

抽象方法

构造方法

常量

变量

创建对象

普通类

可以

不可以

可以

可以

可以

可以

抽象类

可以

可以

可以

可以

可以

不可以

接口

不可以

可以

不可以

可以

不可以

不可以

 

五.This关键子

      1.当前类的对象

      2.首先看This在哪个方法中被使用,然后再找调用该方法的对象,则This指的是调用该方法的对象.

阅读全文
0 0
原创粉丝点击