mdsk.net
当前位置:首页 >> 匿名内部类如何调用父类的非默认的构造方法 >>

匿名内部类如何调用父类的非默认的构造方法

定义一个接口A interface A{ public int add(int b,int c); } 在main方法中加上 new A(){ /*这里的new A() 就是调用构造方法 如有有参数的就直接写参数就行了 new A("aa") 着样就行 匿名内部类不能重新定义新的构造方法*/ public int add(int b,...

不能调用。 原因非常简单,定义匿名内部类的时候,JVM会自动给你生成一个类,说是匿名,其实对于JVM来说,当然不是匿名,JVM知道这个类,而用户不知道,用户无法访问这个类,这个类是你new的类或接口的子类或实现类,它的引用是父类或接口。(JVM...

……我比较想知道怎样的内部类可以不用命名

使用匿名内部类课使代码更加简洁、紧凑,模块化程度更高。内部类能够访问外部内的一切成员变量和方法,包括私有的,而实现接口或继承类做不到。然而这个不是我说的重点,我说的很简单,就是匿名内部类的两种实现方式:第一种,继承一个类,重写...

class),也称为嵌入类(nested class),它是定义在其他类的内部。内部类作为其外部类的一个成员,与其他成员一样,可以直接访问其外部类的数据和方法。只不过相比较外部类只有public和默认的修饰符不同,内部类作为一个成员,可以被任意修饰符修...

并不清楚楼主代码需要如何实现。简短例子供参照,如有疑问可追问 public class $ { public static void main(String[] args) { final A a1 = new A(); A a = new A(new B() { @Override public void toDo() { a1.getB();//调用final对象 A.test(...

其实你也可以不用匿名的内部类来实力化接口,你还可以用接口名 接口变量名= new 接口名(){};大括号里面实现接口中的方法。这就是可以看成是用的上转型对象来实现这个接口的,要记住上转型对象能调用子类重写父类的方法,其实我们是在用匿名...

new filenamefilter()是创建一个继承自filenamefilter的匿名类对象,通过new表达式返回的引用自动向上转型为对filenamefilter的引用。因为匿名类本身无名,也就不存在构造方法,需要显式调用父类的构造方法,并重写父类的方法。

匿名内部类由于没有名字,所以它的创建方式有点儿奇怪。创建格式如下:[java] view plaincopyprint?new 父类构造器(参数列表)|实现接口() { //匿名内部类的类体部分 } 在这里我们看到使用匿名内部类我们必须要继承一个父类或者实现一个接口...

首先抽象类是不能被实例化的 就是数不能用关键字new的 那么这里有了一个new 那么这个被new的类肯定不是原来的那个抽象类Person类了 那么这里有个实例对象p 它属于的类是谁 肯定不是Person类 那么就是另一个类了 但是这个类没有名字 只有代码体了

网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com