`

抽象类和接口声明的引用,不能调用接口或抽象类中没有定义的方法

 
阅读更多
package arrays;

public class AList extends ListInterface{

	public boolean isFull() {
		System.out.println("isFull method ");
		return false;
	}

	public void istrue() {
		System.out.println("istrue method ");
	}
	
	
	public void isFalse(){
		System.out.println("isflase method");
	}

	
	public static void main(String[] args) {
		ListInterface lis = new AList();
		
		// 抽象类和接口声明的引用, 都不能调用 接口或抽象类中没有定义的方法
		
		//lis.isFolse();  会报错 
			
	}
}

 

 接口或抽象类中声明了两个方法 isFull 和 isTrue ,  子类新添了一个方法 isFalse 。  用接口声明实例化子类的时候, 不能调用父类或接口中没有定义,而子类新添的方法 . 这是为什么涅, 在 jvm中的实现是怎么样的捏? ?

package arrays;

public abstract class  ListInterface {
	
	
	boolean isFull() {
		return false;
	}
	
	abstract void istrue();
}

 

属性能够抽象到接口中吗? 因为接口是 public 的 。使用抽象类可以私有化属性让子类继承。

 

 

分享到:
评论

相关推荐

    实验3 抽象类和接口(2学时)

    掌握Java中抽象类和抽象方法的定义; 掌握Java中接口的定义,熟练掌握接口的定义形式以及接口的实现方法。 二、实验内容 1、按照要求使用Java进行编码。 编写一个抽象类Shape,其中有抽象方法getArea()和...

    C#接口抽象类区别实例

    (8) 抽象类实现的具体方法默认为虚的,但实现接口的类中的接口方法却默认为非虚的,当然您也可以声明为虚的 (9) 如果抽象类实现接口,则可以把接口中方法映射到抽象类中作为抽象方法而不必实现,而在抽象类的子类中...

    利用java定义Point2D及定义接口与抽象类

    2、定义抽象类Shape,抽象方法为showArea(),再定义矩形类Rectangle,正方形类Square,圆类 Circle,和各自的属性。定义主类、主方法,在main方法中构造3个对象,调用showArea方法;定义接口DiagArea,其中包含方法...

    Java学习笔记---15.面向对象编程10-Java中final关键字,抽象类与接口

    答案是: 抽象类中允许有自己的构造方法,但是该构造方法并不能直接实例化自己的对象. 如果在抽象类中存在有参构造方法,则必须在子类中明确的使用super([参数列表])指明要调用父类中的哪个构造方法. 这里举例如下: ...

    Java实验-接口.docx

    创建一个Vehicle接口,在接口中定义2个抽象方法:启动start()和刹车stop()。 定义两个类Car和Bike,实现Vehicle接口,并具体实现接口start()和stop()方法 。 创建另一个类Test_Vehicle,在main主方法中分别通过使用...

    编写一个抽象类Shape

    1) 编写一个抽象类Shape,其中有抽象方法getArea()和getPerimeter() 2) 在Shape类的基础上派生出Rectangle和Circle类,二者都实现了计算面积的方法getArea()和计算周长的方法getPerimeter(); 3) 构造main...

    定义一个抽象类Shape

    定义一个抽象类Shape(有两个纯虚函数)派生出Circle和Rectangle,并实现相应的纯虚函数,再定义一个类CAR,使用CAR来统一调用Circle和Rectangle

    在Python中定义和使用抽象类的方法

    抽象方法是基类中定义的方法,但却没有任何实现。在java中,可以把方法申明成一个接口。而在python中实现一个抽象方法的简单的方法是: class Sheep(object): def get_size(self): raise NotImplementedError ...

    JAVA之抽象类与接口的区别

     它可以有构造器,但是不能构造对象,抽象类中的构造器,在构造具体子类对象时调用,抽象方法决定抽象类,抽象类中可以没有抽象方法,具体父类型可以作为引用类型的声明;抽象父类型也可以作为引用类型的声明;...

    Java面试突击-V3.0.pdf

    1. 接口的方法默认是 public,所有方法在接口中不能有实现(Java 8 开始接口方法可以有默认实现),抽象类可以 有非抽象的方法 2. 接口中的实例变量默认是 final 类型的,而抽象类中则不一定 3. 一个类可以实现多...

    python面向对象程序设计

    (1)定义一个抽象类Shape,在抽象类Shape中定义求面积getArea()和周长getPerimeter()的抽象方法。 (2)分别定义继承抽象类Shape的3个子类即Triangle、Rectangle和Circle,在这3个子类中重写Shape中的方法getArea()...

    PHP抽象类与接口的区别实例详解

    本文实例讲述了PHP抽象类与接口的区别。分享给大家供大家参考,...方法的调用方式必须匹配,即类型和所需参数数量必须一致,例如,子类定义了一个可选参数,而父类抽象方法中没有声明,则两者的声明并没有冲突。 特点

    【05-面向对象(下)】

    •接口和抽象类都可以包含抽象方法,实现接口或继承抽象类的普通子类都必须实现这些抽象方法。 接口与抽象类的区别 •接口里只能包含抽象方法,不同包含已经提供实现的方法;抽象类则完全可以包含普通...

    设计一个抽象类图形类,在该类中包含有至少两个抽象方法求周长和求面积,分别定义圆形类、长方形类、正方形类、三角形类来继承图形类,并实现上述两个方法

    设计一个抽象类图形类,在该类中包含有至少两个抽象方法求周长和求面积,分别定义圆形类、长方形类、正方形类、三角形类来继承图形类,并实现上述两个方法 设计抽象类 就要使用abstract关键字,抽象类中的抽象方法要...

    JAVA细节知识

    接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的, 另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般...

    android项目之aidl跨进程调用举例Demo

    AIDL编译器从AIDL接口文件中利用Java语言创建接口,该接口有一个继承的命名为Stub的内部抽象类(并且实现了一些IPC调用的附加方法),要做的就是创建一个继承YourInterface.Stub的类并且实现在.aidl文件中声明的方法...

    PHP OPP机制和模式简介(抽象类、接口和契约式编程)

    被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现。在类的声明中使用 abstract 修饰符就可以将某个类声明为抽象的。 1.1方法原型(prototype) 是指方法的定义中剔除了方法体之后的签名。...

    Elevenyxy.zip

    在Vehicle类中声明一个名为run的实现打印”Running”功能的方法和一个名为wheelsNum的抽象方法,该方法没有返回值。创建两个类Car和Motorbike,均继承自Vehicle,并在这两个类中实现wheelsNum方法。在Car类中应当...

    计算机(专升本)Java程序设计复习资料.doc

    A.abstract只能用来派生类,不能创建abstract类的对象 B.final修饰的类不能用来派生子类 C.abstract可与final同时修饰一个类 D.abstract方法必须在abstract类中声明,但abstract类定义中可以没有abstract方法 6....

    用c++实现一个抽象类DataStucture

    1. 请创建一个抽象类DataStructure,该类包括下面的成员变量和成员函数: 1) 一个成员变量len,表示里面的元素个数最大值 2) 构造函数DataStructure(int l),将len初始化为0 3) 虚析构函数~DataStructure() 4) ...

Global site tag (gtag.js) - Google Analytics