java中什么类没有父类(java中子类如何不调用父类的构造方法)
大家好,今天给各位分享java中什么类没有父类的一些知识,其中也会对java中子类如何不调用父类的构造方法进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
java 继承 子类没有父类的private 属性和 方法
首先,子类会继承父类的所有成员,包括private成员。所以子类不是没有这个私有的m成员(子类也为它分配了内存,当创建子类对象时,它的值就是存储在这个内存中),只是因为它是私有的,不能在子类内部直接访问它而已,但可以通过调用父类的方法(这个方法不能是private的)或调用父类的构造器(这个构造器也不能是private的)来访问它啊。
java中子类如何不调用父类的构造方法
子类必然会调用父类的构造方法。
要不然是你显式调用,要不然是Java自动调用。
如果父类有不带参数的构造方法,或者父类没有任何构造方法(也就是说有缺省构造方法),那么子类可以不显式调用,子类会自动调用super();
如果父类有带参数的构造方法,却没有不带参数的构造方法,那么如果子类没有显式调用父类构造方法,那么编译会报错。
如
class A{
public A(String name){
}
}
class B extends A{
public B(){
//如果不显式调用父类构造方法,编译会报错。
}
}
java中为什么父类必须有无参构造方法才能被子类继承
你在Xx类里定义了一个带参数的构造方法,那么这个Xx类就没有无参数的构造方法了。
子类在继承父类时,如果没有相同的带参构造方法,那么他就需要在其构造方法中明确的通过super()调用父类的带参构造方法,否则构造不出父类,从而也构造不出他自己了。
你如果在父类中写个不带参数的构造方法,就可以不用实现父类的带参构造方法了。
java中子类可以创建父类中没有定义的方法或者变量吗
子类中完全可以定义父类中没有的方法,但是你的代码存在问题!
Animal dog= new Dog();这句表现的是JAVA的多态,表示由一个父类的引用指向子类,因为是引用的是动物类型,而动物类没有getC()方法,所以编译器会认为,这个方法是不存在的。
如果要通过编译必须这样写:Dog dog= new Dog();
好比是:我说要一个动物,你给我一只小狗,这是可以的,但是狗会啃骨头,并不等于其他动物都会啃骨头。所以你给我一个动物,然后告诉我它要啃骨头,然而这只动物未必是小狗,所以我告诉你编译错误了
关于java中什么类没有父类,java中子类如何不调用父类的构造方法的介绍到此结束,希望对大家有所帮助。