Java中,子类构造一个自己的对象时,先构建一个父类对象并运行父类的构造函数
答案:6 悬赏:40 手机版
解决时间 2021-04-28 21:04
- 提问者网友:临风不自傲
- 2021-04-28 02:37
Java中,子类构造一个自己的对象时,先构建一个父类对象并运行父类的构造函数
最佳答案
- 五星知识达人网友:西岸风
- 2021-04-28 03:04
事实上不会构造一个父类对象,所以并不存在这个父类对象。
首先你要记得,构造函数不是通过类得的对象来调用的,相反,类的对象必须通过构造函数才能构造出来,你如果是想调用父类的方法,用super关键字可以调用,比如super.ToString();
首先你要记得,构造函数不是通过类得的对象来调用的,相反,类的对象必须通过构造函数才能构造出来,你如果是想调用父类的方法,用super关键字可以调用,比如super.ToString();
全部回答
- 1楼网友:纵马山川剑自提
- 2021-04-28 07:26
super语句
- 2楼网友:第幾種人
- 2021-04-28 07:19
要条件,男人还是女人,出生日期,父母姓名。这些必须是上户口的时候必须具备的,否则上个空头户口那就乱套了。势必是活不见人死不见尸。先开个空头户口,在让你写名字,这就意味着,你这个户口可以是张三,还能是李四,到时候户口起不到作用了。
- 3楼网友:轻熟杀无赦
- 2021-04-28 06:13
向上转型:父类 父类对象 = 子类实例;
向下转型:子类 子类对象 = (子类)父类实例;
找的一段代码:
class A{ // 定义类A
public void fun1(){ // 定义fun1()方法
System.out.println("A --> public void fun1(){}") ;
}
public void fun2(){
this.fun1() ; // 调用fun1()方法
}
};
class B extends A{
public void fun1(){ // 此方法被子类覆写了
System.out.println("B --> public void fun1(){}") ;
}
public void fun3(){
System.out.println("B --> public void fun3(){}") ;
}
};
public class PolDemo02{
public static void main(String asrgs[]){
A a = new B() ; // 向上转型关系
B b = (B)a ; // 发生了向下转型关系
b.fun1() ;
b.fun2() ;
b.fun3() ;
}
};
不知道你要的是不是这个意思,我经验也不多,这是我看对象的多态性学的。
向下转型:子类 子类对象 = (子类)父类实例;
找的一段代码:
class A{ // 定义类A
public void fun1(){ // 定义fun1()方法
System.out.println("A --> public void fun1(){}") ;
}
public void fun2(){
this.fun1() ; // 调用fun1()方法
}
};
class B extends A{
public void fun1(){ // 此方法被子类覆写了
System.out.println("B --> public void fun1(){}") ;
}
public void fun3(){
System.out.println("B --> public void fun3(){}") ;
}
};
public class PolDemo02{
public static void main(String asrgs[]){
A a = new B() ; // 向上转型关系
B b = (B)a ; // 发生了向下转型关系
b.fun1() ;
b.fun2() ;
b.fun3() ;
}
};
不知道你要的是不是这个意思,我经验也不多,这是我看对象的多态性学的。
- 4楼网友:西风乍起
- 2021-04-28 05:18
很遗憾 这个是得不到的
凡是子类重写覆盖的属性或方法会全部会被隐藏
如果子类没有覆盖父类任何东西 那么父类有的子类都有 也就不需要得到父类了
多态的时候可以用 父类 x=子类 直接赋值
凡是子类重写覆盖的属性或方法会全部会被隐藏
如果子类没有覆盖父类任何东西 那么父类有的子类都有 也就不需要得到父类了
多态的时候可以用 父类 x=子类 直接赋值
- 5楼网友:举杯邀酒敬孤独
- 2021-04-28 03:51
public class ExtendsExample {
public static void main(String[] args) {
// TODO 自动生成方法存根
B b = new B();
b.childFunc();
b.getRoot().rootFunc();
}
}
class A{
private A a = null;
A(){
System.out.println("这是父类!");
a = this;
}
void rootFunc(){
System.out.println("这是父类方法!");
}
A getRoot(){
return a;
}
}
class B extends A{
B(){
System.out.println("这是子类!");
}
void childFunc(){
System.out.println("这是子类方法!");
}
}
不过感觉这样做没什么意义呀?!!
public static void main(String[] args) {
// TODO 自动生成方法存根
B b = new B();
b.childFunc();
b.getRoot().rootFunc();
}
}
class A{
private A a = null;
A(){
System.out.println("这是父类!");
a = this;
}
void rootFunc(){
System.out.println("这是父类方法!");
}
A getRoot(){
return a;
}
}
class B extends A{
B(){
System.out.println("这是子类!");
}
void childFunc(){
System.out.println("这是子类方法!");
}
}
不过感觉这样做没什么意义呀?!!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯