java 继承访问成员变量

package java09;
//创建父类
public class Fu {
    int numFu = 10;
    int num =100;
    public void methodFu(){
        System.out.println(num);
    }
}

package java09;
//创建子类
public class Zi extends Fu {
    int numZi = 20;
    int num =200;
    public void methodZi(){
        System.out.println(num);
    }

}

package java09;
/*
在父类的继承关系中,如果成员变量重名,则创建子类对象时,访问有两种方式:
直接通过子类对象访问成员变量:
    等号左边是谁就优先用谁,没有则向上找
间接通过成员方法访问成员变量:
    该方法属于谁,就优先用谁,没有则向上找
* */
public class DemoExtendsField {
    public static void main(String[] args) {
        Fu fu = new Fu();//创建父类对象
        System.out.println(fu.numFu);//10  只能使用父类的东西,没有任何子类的内容
        System.out.println("==============");

        Zi zi = new Zi();
        System.out.println(zi.numFu);//10
        System.out.println(zi.numZi);//20
        System.out.println("=================");
        //等号左边是谁,就优先用谁
        System.out.println(zi.num);//200

        //这个方法是子类的,优先使用子类,没有在向上找
        zi.methodZi();//200
        //这个方法是在父类中定的,
        zi.methodFu();//100

    }
}

原文地址:https://www.cnblogs.com/spp666/p/11722860.html

时间: 2024-10-08 06:59:52

java 继承访问成员变量的相关文章

java局部变量与成员变量相关问题总结

java局部变量与成员变量相关问题总结 2013-02-03 12:39 156人阅读 评论(0) 收藏 举报 一.Java中的所有变量可以分成局部变量和成员变量.他们的区别: 1. 定义 成员变量:在类体里面定义的变量称为成员变量: 局部变量:形参.方法.代码块中定义的变量,都属于局部变量. (注:局部变量定义必须在方法里面!) 2. 详细分类 成员变量:1)类变量(静态变量)——有static修饰: 2)实例变量(非静态变量)——没有static修饰. 局部变量:1)形参——方法签名中定义的

Java类的成员变量和局部变量

在Java中,成员变量和局部变量存在较大的差异性.首先,我们来看一下变量的分类图: 成员变量 成员变量被分为:类属性和实例属性. 类属性:定义一个属性时,不使用static修饰的就是实例属性, 实例属性:定义一个属性时,使用static修饰的是类属性. 类属性从这个类的准备阶段起开始存在,直到系统完全销毁这个类,类属性的作用域与这个类的生存范围相同: 而实例属性则从这个类的实例被创建开始存在,直到系统完全销毁整个实例,实例属性的作用域与对应实例的生存范围相同. PS:一个类在使用之前,要经过类加

Java如何访问private变量?

大家都知道private变量是无法访问的,一编译就报错根本无法访问啊.本文教你如何破解这种限制. 实现的原理是利用了Java的反射机制. 首先定义一个最简单的类,只有一个私有变量和一个公开的方法.代码如下: class Foo { private String message = "This is a Foo."; public void show() { System.out.println(message); } } 正常情况下调用show函数会输出"This is a

<02>【掌握】01-类的声明和实现+【掌握】13-创建一个对象并访问成员变量+【掌握】14-无参方法声明实现及调用+【掌握】15-有参方法声明实现及调用+

[掌握]01-类的声明和实现 类: 一类事物共同特征和行为的抽象 大卡车 小轿车 挖掘机 车类: Car 共同的特征(属性): 颜色 速度 轮子 共同的行为: 跑 停止 对象: 类的具体的个体 东风21D(车类的对象) 解放大卡车(车类的对象) BYD (车的对象) 时风 (车的对象) 2.类的定义 结构体定义 struct Student{ }; ---->定义一个Student 结构体 类的定义分为两部分: 1)类的声明(规定当前类的:类名.属性.行为) @interface 类名:父类名

22.2 继承的 成员变量的执行顺序

/** 继承中成员变量的特点:* 子类只能继承父类的非私有成员* 子父类中成员变量名字是一样的获取的是子类的成员变量*** 就近原则:* 优先级(由近到远)为:局部变量---子类成员变量---父类成员变量**super:子类对象的父类引用.(可以获取父类成员的变量和方法,用法同this)* 调用父类的成员方法和变量*this:当前对象的引用.* 调用子类的成员方法和变量* */ public class 继承成员变量执行优先级 { public static void main(String[]

Java基础学习-extends继承(成员变量,局部变量,成员方法)

package extend; /*面向对象-继承: * 多个类的共同成员变量和成员方法.抽取到另一个类中(父类),我们多个类就可以访问到父类的成员了 * */ class Game{ String name; double vesion;//版本号 String agent;//代理商 public void start() { System.out.println("游戏启动"); } public void stop() { System.out.println("游戏

Java的private成员变量的继承问题

java板块关于private变量到底会不会被继承,一直都有争议. 传送门 另一种说法是非继承关系,但是不能够解释为什么. 分析内存的分配后发现: 当一个子类被实例化的时候,默认会先调用父类的构造方法对父类进行初始化,即在内存中创建一个父类对象,然后再父类对象的外部放上子类独有的属性,两者合起来成为一个子类的对象. 虽然说子类对象内存空间包含这个private变量,但是子类不能自己编写函数对这个private变量进行直接修改,访问.只能通过继承下来的public函数对private变量进行修改,

【转】Java 多线程(四) 多线程访问成员变量与局部变量

原文网址:http://www.cnblogs.com/mengdd/archive/2013/02/16/2913659.html 先看一个程序例子: public class HelloThreadTest { public static void main(String[] args) { HelloThread r = new HelloThread(); Thread t1 = new Thread(r); Thread t2 = new Thread(r); t1.start();

Java 多线程(四) 多线程访问成员变量与局部变量

先看一个程序例子: public class HelloThreadTest { public static void main(String[] args) { HelloThread r = new HelloThread(); Thread t1 = new Thread(r); Thread t2 = new Thread(r); t1.start(); t2.start(); } } class HelloThread implements Runnable { int i; @Ove