java 抽象类和接口
Posted 彬哙
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 抽象类和接口相关的知识,希望对你有一定的参考价值。
抽象类和接口
抽象类
1、抽象类用关键字 abstract 声明,用extends继承。
2、抽象类只能单继承。
3、抽象类中,可以用关键字 abstract 声明抽象方法,抽象类中可以存在抽象方法,但抽象方法不能存在与其它的类中。
4、抽象类不能用new实例化,只能继承,靠字类去实现它,类似与对子类的约束。
5、抽象类构造器,也可以有有参构造器,在字类的构造器中,使用 super 进行调用父类抽象类的构造器,在执行子类本身的构造器;
package abstractDemo;
//抽象类
public abstract class abstractClass {
public abstractClass() {
System.out.println("执行了抽象类的无参构造器");
}
public abstractClass(int i){
System.out.println("执行了抽象类的有参构造器");
}
public void go(){
System.out.println("执行了go方法");
}
public abstract void testAbstact(); //抽象方法
}
//字类
class ChrildClass extends abstractClass{
//字类构造器
public ChrildClass(int i) {
super(i);
}
//重写抽象方法
@Override
public void testAbstact() {
System.out.println("执行了抽象方法");
}
}
//执行类
class Appcation{
public static void main(String[] agrs){
ChrildClass chrildClass = new ChrildClass(2);
chrildClass.testAbstact(); //调用抽象方法
chrildClass.go(); //调用父类的go方法
}
}
执行结果:
执行了抽象类的有参构造器
执行了抽象方法
执行了go方法
接口
1、接口就是规范,定义的是一组规则,继承了接口,就必须实现接口中的所有方法。
2、接口用关键字 interface 声明,子类用implements继承,字类需要重写接口中的所有方法。
3、可以实现多继承。
4、接口中的所有的定义都是抽象了,即默认为 public abstract。
5、接口不能被实例化,因为接口没有构造方法。
package interfacDemo;
public interface interfaceClass {
void add();
void update();
}
class ChildrenClass implements interfaceClass{
@Override
public void add() {
System.out.println("ChildrenClass实现接口的add方法");
}
@Override
public void update() {
System.out.println("ChildrenClass实现接口的update方法");
}
}
class OrtherCHildrenClass implements interfaceClass{
@Override
public void add() {
System.out.println("OrtherCHildrenClass实现接口的add方法");
}
@Override
public void update() {
System.out.println("OrtherCHildrenClass实现接口的update方法");
}
}
class Action{
public static void main(String[] agrs){
ChildrenClass childrenClass = new ChildrenClass();
childrenClass.add();
childrenClass.update();
OrtherCHildrenClass ortherCHildrenClass = new OrtherCHildrenClass();
ortherCHildrenClass.add();
ortherCHildrenClass.update();
}
}
执行结果:
ChildrenClass实现接口的add方法
ChildrenClass实现接口的update方法
OrtherCHildrenClass实现接口的add方法
OrtherCHildrenClass实现接口的update方法
以上是关于java 抽象类和接口的主要内容,如果未能解决你的问题,请参考以下文章