类,抽象类,接口三者的区别
程序员文章站
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.子类继承父类,在子类的构造方法中,默认会调用父类的无参数的构造方法
如果父类重载了构造方法,无参构造方法已经失效
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.子类继承父类,在子类的构造方法中,默认会调用父类的无参数的构造方法
如果父类重载了构造方法,无参构造方法已经失效
上一篇: java的接口与抽象类(转载)
下一篇: mysql计算年增长率