java接口的抽象方法,java抽象类与接口编程例题
00-1010 1、抽象类1.1、什么是抽象类1.2、抽象类用法1.3、抽象类特征(约束)2、接口2.1、什么是接口2.2、接口用法2.3、如何使用接口2.4、接口特征(约束)2.5、如何实现多个接口2.6、接口之间的继承关系2。
目录
00-1010如果一个类没有包含足够的信息来描述一个具体的对象,这样的类就是一个抽象类。
00-1010如果一个类用abstract修饰,称为抽象类,抽象类中用abstract修饰的方法称为抽象方法,不需要给出具体的实现。
抽象类形状{ /*公共字符串名称;公共int agepublic void func(){ system . out . println( ada );} public static void func 2(){ system . out . println( akjdhkjasd );}*/公共抽象void draw();//抽象方法}注意:抽象类也是类,可以包含常用的方法和属性,甚至可以构造方法。
00-1010 1.用abstract修饰的类是抽象类。
2.被abstract修改的方法就是抽象方法。
3.抽象类无法实例化。新建抽象类();
4.成员变量和成员方法与普通类相同,但不能实例化。
5.当一个普通类继承了这个抽象类,那么这个普通类必须重写这个抽象类中的所有抽象方法。
6.抽象类最大的意义就是被继承。
7.抽象类也可以经历向上的转换和进一步的多态。
8.当抽象类A继承抽象类B时,抽象类A不能重写抽象类B中的方法。
9.当一个普通的C类继承第八条中的A时,此时必须重写所有的抽象方法。
10.final不能修饰抽象方法和抽象类。
1,抽象方法不能私有。
12.有不同的抽象类——有抽象方法,但如果这个方法是抽象方法,那么这个类——一定是抽象类。
代码示例:
抽象类形状{ /*公共字符串名称;公共int agepublic void func(){ system . out . println( ada );} public static void func 2(){ system . out . println( akjdhkjasd );}*/公共抽象void draw();//抽象方法}抽象类A扩展Shape{ //当抽象类A继承抽象类Shape时,抽象类Shape中的方法public abstract void func()不可以被覆盖;} B类扩展A{ //你迟早要还的,父类没重写你写@ override public void draw(){ } @ override public void func(){ } }类循环扩展Shape {//普通类继承抽象类(里面有抽象方法)。这里有一个错误,抽象方法@ override public void draw(){ system;出;必须重写Shap类中的println(“”);} }类Rect扩展Shape { @ Override public void draw(){ system . out . println();} }类三角形扩展Shape { @ Override public void draw(){ system . out . println( );} }公共类test demo { public static void draw map(Shape Shape){ Shape . draw();} public static void main(String[]args){//Shape Shape=new Shape();//1.抽象类无法实例化。
Circle circle = new Circle(); Rect rect = new Rect(); Triangle triangle = new Triangle(); drawMap(circle); drawMap(rect); drawMap(triangle); } //输出结果: //就是按顺序输出三种图形}
2、接口
2.1、什么是接口
接口就是公共的行为规范标准,大家在实现时,只要符合规范标准,就可以通用。在Java中,接口可以看成是:多个类的公共规范,是一种引用数据类型。
2.2、接口的用法
接口的定义格式与定义类的格式基本相同,将class关键字换成 interface 关键字,就定义了一个接口。
interface IShape{ /* //成员变量 默认静态常量 必须初始化 (写不写都一样) public static final int a = 10; //成员方法 //public abstract void func();//接口里面的方法是默认抽象方法 default void func(){ System.out.println("默认的方法!");//如果接口当中的方法 需要一个具体的实现 必须用default来修饰 } public static void staticFunc(){ System.out.println("静态方法!");//接口当中的静态方法可以有具体的实现 }*/ void draw();}
2.3、如何使用接口
接口不能直接使用,必须要有一个"实现类"来"实现"该接口,实现接口中的所有抽象方法。
class Circle implements IShape { //一个普通的类可以通过implemengts来实现这个接口 另外:重写抽象方法 @Override public void draw() { System.out.println("⚪"); }}
注意:
子类和父类之间是extends继承关系,类与接口之间是 implements 实现关系。
2.4、接口的特点(限制条件)
1、接口使用关键字interface来修饰
2、接口当中的成员方法,只能是抽象方法。所有的方法默认都是public abstract3、接口当中的成员变量,默认是public static final
4、接口当中的方法,如果要实现,需要用default来修饰
5、接口当中的静态的方法,可以有具体的实现
6、接口不能进行实例化。new接口
7、-一个普通的类可以通过implements来实现这个接口
interface IShape{ /* //成员变量 默认静态常量 必须初始化 (写不写都一样) public static final int a = 10; //成员方法 //public abstract void func();//接口里面的方法是默认抽象方法 default void func(){ System.out.println("默认的方法!");//如果接口当中的方法 需要一个具体的实现 必须用default来修饰 } public static void staticFunc(){ System.out.println("静态方法!");//接口当中的静态方法可以有具体的实现 }*/ void draw();}class Circle implements IShape { //一个普通的类可以通过implemengts来实现这个接口 另外:重写抽象方法 @Override public void draw() { System.out.println("⚪"); }}class Rect implements IShape { @Override public void draw() { System.out.println("♦"); }}class Triangle implements IShape { @Override public void draw() { System.out.println("
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。