欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

类,抽象类,接口三者的区别

程序员文章站 2022-04-16 20:22:22
...
  类的表现形式
Java中类的定义:
public class A{} 

类的特点:
  1)类中的属性可以是成员属性,也可以是类属性
   2)类中的方法必须是有方法体的方法(类中的方法必须全部是具体的方法[有方法体的方法]),可以是成员方法,也可以是类方法
   3)每个类必须至少有一个构造方法,默认的是一个无参的构造方法,可以调用构造方法创造对对象
      一个类只能继承一个父类,单根继承
Java代码 
public class A{} 
public class B extends A{} 
 
抽象类
   表现形式:
Java中抽象类的定义: 
public abstract class A{} 

public abstract class A1{
private String name;
public void aa(){
}
public abstract void bb();

}

抽象类的特点:
   1)抽象类中的属性和类一样,可以是成员属性,也可以是类属性
   2)抽象类中的方法可以是抽象方法,也可以是具体的成员方法
   3)抽象类中的方法需要定义访问限定符
   4)抽象类有构造方法,默认的是一个无参的构造方法,但不能用来创建对象(就是不能new 一个对象)
   5)抽象类是用来充当父类,给子类去继承和扩展的
 
抽象类的继承:
    一个类只能继承一个抽象类
        public class B extends A{}
 
接口(interface)
表现形式:
Java中接口的定义:
public interface A{} 

接口的特点:
  1)接口中的属性必须是公共的常量(必须赋初始值)
  2)接口中的属性默认是public static final,必须是public static final
  3)接口中的方法必须全部只能是抽象方法
  4)接口中的方法默认是public abstract ,必须是public abstract
  5)接口中的方法的访问限定符默认public,必须是public
  6)接口没有构造方法,不能创造对象(就是不能new 一个对象)
  7)接口用来充当父类,给子类去扩展的

还有接口的实现:
  
Java代码 
public class A implements B{} 

PS:
1.不管是继承类,还是抽象类,还是接口
如果要重写父类的方法,都不能够减小方法的访问限定范围
public   protected      默认不写       private

2.常量的定义
public static final 数据类型  变量名 = 值;


3.如果是抽象类继承抽象类,可以不用重写继承到的方法

4.抽象类实现接口,可以不用重写接口中的方法

5.接口可以继承接口,不能重写继承到的方法

6.类与类的继承,类与抽象类的继承都是单根继承
public class A{}
public class B extends A{}

7.Java中最顶层的父类是 Object类,所有的类,包括数组都是默认是Object的子类

8.一个接口可以继承多个接口
public interface C{}
public interface D{}
public interface E extends C,D{}


9.一个类[抽象类]可以实现多个接口
public class F implements C,D{}


10.一个类[抽象类]可以先继承一个类,再实现多个接口
public class G extends A implements C,D{}

G a1 = new G();
A a2 = new G();
C a3 = new G();
D a4 = new G();



11.子类继承父类,在子类的构造方法中,默认会调用父类的无参数的构造方法
如果父类重载了构造方法,无参构造方法已经失效