新手 java 子类和父类成员变量同名,调用父类变量

假设 类A 和 类B 都有成员变量 int x ,同时 B继承于A,成员变量同名 。
如何在类B的外部调用 A的x;
就像c++ : B * b =new B(); b.A::x=5;
这样

0

1个回答

class Untitled {

    public static void main(String[] args) {
        B b = new B();

        System.out.println(b.a);
        System.out.println(((A)b).a);
    }
}

class A
{
    public int a = 3;
}
class B extends A
{
    public int a = 4;
}

图片说明

0
caozhy
贵阳挖掘机马善福,自备车辆专业挖游泳池 回复weixin_41423378: 没有,类内部有super,相当于cpp的base
12 个月之前 回复
weixin_41423378
银翼的魔术师s 也可以 ,java 有专门的语法吗
12 个月之前 回复
weixin_41423378
银翼的魔术师s 额 这个不是强制类型转换吗,c++
12 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
新手 java 子类和父类成员变量同名,调用父类变量
假设 类A 和 类B 都有成员变量 int x ,同时 B继承于A,成员变量同名 。n如何在类B的外部调用 A的x;n就像c++ : B * b =new B(); b.A::x=5;n这样
父类和子类 同名成员变量和静态成员变量
父类和子类如果有相同名字的成员变量时,子类会使用自己的成员变量,如果想使用父类的必须通过指针或引用转换。 class CBase class CA : public CBase 拥有相同成员变量 int n CA a; a.n = 1; 修改的是子类的成员变量,想要修改基类的成员变量 ((CBase*)&a)->n = 2; ((CBase&)a).n = 2; 对于指针
新手问题,关于父类子类的同名变量
//Main.javarnclass crnrn public int name = 12;rnrnclass d extends crnrnd()rnname =13;rnvoid d2()rnrnSystem.out.println(super.name);rnrnrnrnpublic class Mainrnrn public static void main(String[]args)rn rn d d1 = new d();rn System.out.println(d1.name);rn d1.d2();rn rnrnrn//运行结果为:13,13rnrn//Main1.javarnclass crnrn public int name = 12;rnrnclass d extends crnrnint name =13;rnvoid d2()rnrnSystem.out.println(super.name);rnrnrnrnpublic class Mainrnrn public static void main(String[]args)rn rn d d1 = new d();rn System.out.println(d1.name);rn d1.d2();rn rnrnrn//运行结果为:13,12rnrn问题是不能理解运行结果的差异,请前辈解释一下,谢谢啊rnrn
c++父类子类同名变量
当父类与子类有同名且变量时: class Base { public: int i; Base() { printf("Base()\n"); i = 99; amethod(); } void amethod() { printf("Base.amethod()\n"); } }; class D
C++ 子类和父类同名成员变量或函数
C++ 子类和父类同名成员变量或函数
JAVA: 子类“覆盖”父类的成员变量
class Father { int i = 10; public void setI(int i) { this.i = i; } } class Son extends Father { int i = 10; public void show() { System.out.println("super.i : " ...
Java 理解 子类成员变量与父类成员变量同名 方法的重写
Java 理解 子类成员变量与父类成员变量同名 方法的重写
Java中关于子类成员变量与父类成员变量同名
重写和重载是针对方法的,子类的变量可以覆盖父类的变量,但是不能改变父类的变量。
子类父类成员变量的问题!
#includernrnclass Arnrnpublic:rn A()rn rn cout<<"A Born!"<
子类变量覆盖父类变量,子类调用父类方法的问题
有那么个父类和子类:rnrnBase.java:rn--------------rn[code=Java]rnpublic class Base rn public String str = "base";rn rn public void print() rn System.out.println(str);rn rnrn[/code]rnrnSub.java:rn---------------rn[code=Java]rnpublic class Sub extends Base rn public String str = "sub";rn rn public void myPrint() rn super.print();rn rn[/code]rnrnTest.java:rn---------------rnpublic class Test rn public static void main(String[] args) rn Sub sub = new Sub();rn sub.myPrint(); [color=#FF0000]//这里输出"base",我是希望输出"sub"的[/color] .......rnrn子类不是应该覆盖父类的同名属性吗?
父类成员变量与子类成员变量的关系
-
子类父类中存在同名变量
在学习过程中,发现自己的基础知识掌握的不扎实,对一些问题研究的太浅了。 在子类父类中存在同名变量:如下 package test; class A{ int a = 1; int b = 2; public void show(){ System.out.println(&quot;In Class A: a=&quot;+a+&quot;\tb=&quot;+b); } } public cla...
继承- 子类与父类有同名函数,变量
学习了类的继承,今天说一下当父类与子类中有同名函数和变量时那么程序将怎么执行。首先明确当基类和子类有同名函数或者变量时,子类依然从父类继承。   举例说明:         例程说明:   父类和子类有同名的成员 data;同名函数printfa();   子类增加两个打印函数:void son_data();void father_data(); 分别打印自身的da...
java子类如何调用父类变量和方法
深入浅出,保证一看就懂 package com.company; /** * Created by liuyazhou on 2016/9/21. */ public class Test { // private static String str1="str1"; ///在TestSon中System.out.println(str1);报错 // p
为什么子类要调用父类的同名成员函数?
rnvoid CMyTestView::OnRButtonDown(UINT nFlags, CPoint point) rnrn // TODO: Add your message handler code here and/or call defaultrnrn AfxMessageBox("test");rn CView::OnRButtonDown(nFlags, point); //为什么要加此句,去掉后rn //也可以正常运行.rnrnrnrn//c++没理解好就用vc++开发,有难度啊!
子类中调用父类的同名函数
class testFatherrnrnpublic:rn virtual void foo() cout<<"testFather::foo()"<
java 父类子类继承 同名变量 同名方法
无意中发现的这个有趣的问题。 观察下列代码, 父类和子类中都定义有 String name变量,那最终继承之后是不是只剩下1个name?还是父类子类的name互相不相干? 通过赋值后,最后会输出什么?见如下 public class TestTest extends son { String name; // 子类中的name void value(){ name ="a";
OC----父类与子类同名属性
子类不能存在与父类同名的方法,属性 super 关键字: 1. 可以用在类方法,对象方法中, 同self, 继承用super 的可读性要好 2. 在对象方法中可以使用 super关键字调用当前对象从父类继承过来的对象方法.[self say] = [super say] 3. 在类方法中 super关键字可以调用当前类从父类继承过来的类方法 a. 类方法也能被子类继承. 父类中的类方法可以使用父类...
子类使用父类变量
class A rnvar $authKey='1111';rnrnrnrnclass B extends Arn __construct()rn echo parent::authKey;rnrnrn报错Undefined class constant 'authKey'
子类构造调用父类构造函数初始化成员变量
class Undergraduaternrnpublic:rn string number;rn string name;rn string major;rn Undergraduate(string nb,string nm,string mj);rn;rnUndergraduate::Undergraduate(string nb,string nm,string mj)rnrn number=nb;rn name=nm;rn major=mj;rnrnclass Graduate : public Undergraduaternrnpublic:rn string supervisor;rn unsigned int item;rn Graduate(string sv,unsigned int it) : Undergraduate(string nb,string nm,string mj);rn void show_info();rn;rnGraduate::Graduate(string sv,unsigned int it):Undergraduate(nb,nm,mj) //这出错,说构造函数不对rnrn supervisor=sv;rn item=it;rnrnvoid Graduate::show_info()rnrn cout<
如果子类,父类中有个同名的变量,子类的变量是否会覆盖掉父类中的变量?
如果子类,父类中有个同名的变量,子类的变量是否会覆盖掉父类中的变量?该变量类型是在子类中为A,在父类中B,A extends B
调用父类同名函数
请问子类怎么调用父类(2层)的同名函数rn比如这样的,仅仅返回参数不同rnta = classrn function aaa: boolean;rnrntb = class(ta)rn function aaa: string;rnrntc = class(tb)rn function aaa: integer;rnrn我要在tc的aaa里调用父类ta的aaa,用inherited的话调用到的是tb的aaa函数rn
继承,父类、子类都会调用成员变量的构造函数……
那继承的层越多,效率岂不是越低?
新手请教,子类,父类
[img=http://p13.freep.cn/p.aspx?u=v20_p13_p_0903161128136749_0.jpg][/img]rn这里F指向的是APPLE中的FRUIT对象.rnrn再看这里[img=http://p15.freep.cn/p.aspx?u=v20_p15_p_0903161130385070_0.jpg][/img]rnrn这里F的类型是APPLE类.rnrn那么这么说到底要把F归结到那个类.rn如果F和A都有自己的变量,I,J 那么他们的访问关系怎么样.rnrn我是新人,希望答案能够详细.
在父类中访问子类的成员变量
[code=java]rnpublic class Father rnrn private String father;rnrn public Father() rn Field fs[] = this.getClass().getDeclaredFields();rn for (int i = 0; i < fs.length; i++) rn Field f = fs[i];rn System.out.println(f.getType().getName() + " " + f.getName());rn rn rnrnrn[/code]rn[code=java]rnpublic class Son extends Father rnrn private int age;rn private String name;rnrn public Son() rn super();rn // TODO Auto-generated constructor stubrn rnrnrn[/code]rn[code=java]rnpublic class Test rnrn /**rn * @param argsrn */rn public static void main(String[] args) rn // TODO Auto-generated method stubrn Son son = new Son();rn rnrnrn[/code]rn这个是打印结果:rnint agernjava.lang.String namernrn请重点分析Father的构造方法this变量,解释一下打印出来的为什么是上面的结果?rnrn我觉得的结果是:rnjava.lang.String namern
java子类父类方法的调用
TestParent test = TestParent();test.testA();如果子类重写了父类的方法,会调用子类的方法,若未重写则调用父类的方法。package com.test; /** * @author Administrator * @date 2018/6/9 */ public class TestParent { public void testA()...
父类调用子类方法(java)
请问,如果父类有一个空的方法,有个子类实现了这个方法,那在用这个父类对象调用此方法的时候,是不是会默认调用其子类的这个方法呢?rn参考代码如下:rnpublic class baseLayout extends LinearLayoutrnrn ... ...rn public void onUpdate() rn ... ...rnrnpublic class derivedLayout extends imiLinearLayoutrnrn ... ...rn public void onUpdate() rnmAdapter.notifyDataSetChanged();//实现了父类的onUpdate方法rnrn ... ...rnrnprivate baseLayout mBaseView;//现在有个imiLinearLayout(父类)对象rnprivate derivedLayout mDerivedView;//现在有个BuddyLinearLayout(子类)对象rnmBaseView = (baseLayout)mDerivedView;rn... ...rnmBaseView.onUpdate();//调用此父类对象的onUpdate方法rn系统是不是会默认调用其子类derivedLayout 的onUpdate方法呢?
java子类调用父类的构造函数
class Animalrn private String name;rn public Animal(String name) rn this.name = name;rn rnrnpublic Dog extends Animalrn public Dog()rn super("小狗");rn rnrnrnrn在Dog类的构造方法中调用父类的构造方法,可是有什么用呢?在父类中name是private的,super("小狗");这一句话只是把Animal类中的private String name;初始化成了private String name=“小狗”;rn还是我的理解错了?
java中子类与父类的成员变量问题
我知道java不能覆盖成员变量。若一个父类有一个int型成员变量a,且有一个成员方法f()需要用到a的值,其下两个子类都具有这个属性,但各自的a的值不同,请问两个子类调用各自的f()方法时怎么使用自己的a的值。rn难道只能把f()方法搬到从父类搬到两个子类中去吗?这样代码的重用性不就降低很多了……
java子类成员变量与父类重名问题解释
总结,继承只能覆盖方法,而不能覆盖成员变量,若有同名变量,则相互独立,直接获取时依据对象类型,调用时依据方法定义在哪个类中。
子类调用父类的方法
今天在看某项目源代码时,我看到了这样的代码 class B{ public: void printB(){ A::PrintA(); } }; 看了这个代码,我以为printA是类A的static方法,结果找了半天没找到,很尴尬。。。原来子类调用父类就是这样调用的。 所有代码如下: class A{ public: void printA(){}...
子类父类构造方法的调用
构造方法的调用顺序: 首先是顶级父类, 然后是上一级父类, 最后是子类。 也就是说实例化子类对象,首先要实例化父类对象,然后再实例化子类对象,所以在实例化子类构造方法访问父类的构造方法前,父类已经完成实例化操作。
子类调用父类的构造函数
子类调用父类的构造函数:   子类可以默认的调用父类的无参数构造函数,但是如果父类有有参数的构造函数,那么必须在子类的构造函数的第一句就显示的调用父类的构造函数 class A { public A(int i) { System.out.println("A"); } public A() { System.out.println("A"); } } clas
父类和子类调用
怎么在父类中,调用子类(带有参数的构造函数)rn
子类调用父类方法
public class MainActivity extends FatherActivity { TextView tv1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setCont...
子类调用父类main函数
请问子类如何调用父类的主函数main啊?rn子类rnclass Son extends Father rn Son()rn rn super.main(args);rn rn rn rn public static void main(String[] args) rn int i=7; rn System.out.println(i);rn rnrnrn父类rnpublic class Father rn public int a=5;rn Integer yes(Integer r)rn rn System.out.println(r);rn return ++r;rn rn public static void main(String[] args) rn int i;rn Father ii=new Father();rn i=ii.yes(45);rn System.out.println(i);rn rn rnrn
c++的子类与父类的调用
请教大侠!rn 现在我编的一个程序,就是父类的成员函数想要调用子类成员函数的结果,有什么办法可行吗?rn 有方法的能给个代码不?rn拜谢!
子类调用父类构造方法
[code=Java]import java.awt.*;rnimport java.awt.event.*;rnpublic class MPlusrnrn public static void main(String[] args) rn rn MyFrame f1=new MyFrame();rn f1.launch();rn rnrnclass MyFrame extends Framernrn super("Plus");rn TextField t1;rn TextField t2;rn TextField t3;rn public void launch()rn setLayout(new FlowLayout());rn t1 = new TextField(10);rn Label l1 = new Label("+");rn t2 = new TextField(10);rn Button b1 = new Button("=");rn t3 = new TextField(15);rn b1.addActionListener(new Monitor(this));rn add(t1);rn add(l1);rn add(t2);rn add(b1);rn add(t3);rn pack();rn setVisible(true);rnrn rnrnclass Monitor implements ActionListenerrnrn MyFrame f1 = null;rn public Monitor(MyFrame f2)rn f1 = f2;rn rn public void actionPerformed(ActionEvent e)rn int n1 = Integer.parseInt(f1.t1.getText());rn int n2 = Integer.parseInt(f1.t2.getText());rn f1.t3.setText(""+(n1+n2));rn rn[/code]
子类调用父类函数
class circlernrn float r;rn public circle() rn this.r=1;rn public circle(float r) rn this.r=r;rn rn float girth()// 周长rn return 3.14f*r*2; rn float area()rn return 3.14f*r*r;rnrnrnrnclass column extends circlernrn float high;rn public column()rn high=2;rn public column(float h)rn high=h;rn rn float volume() //体积rn return high*area; ////////请问这里为什么不可以rn float barea() //表面积rn return (2*3.14f*r*r+3.14f*r*2*high);rnrn
子类调用父类默认构造函数
看一个题目: class Person { String name = "No name"; public Person(String nm) { name = nm; } } class Employee extends Person { String empI
相关热词 c# 线程顺序 c#昨天当前时间 c# 多进程 锁 c#mysql图片存取 c# ocx 委托事件 c# 读取类的属性和值 c# out 使用限制 c#获取url的id c#怎么进行分页查询 c# update 集合