`
stinge
  • 浏览: 149030 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

以父类的变量访问子类对象的成员

    博客分类:
  • java
阅读更多

以父类的变量访问子类对象的成员

 

以父类声明变量,并将它指向用子类新建的对象。

此时使用此变量可调用  子类中覆盖父类中的成员函数,或子类中没有而父类中有的成员函数

 

用法:

 

利用父类的数组变量来访问子类对象的成员

   (1)先创建父类的数组变量;

   (2)创建子类对象并放入数组,利用数组元素来访问子类的内容。

 

package com;
public class JavaTest {
public static void main(String ar[])
{
	TFather tc = new TChild();
	tc.show();
	System.out.println(tc.num);
	System.out.println(tc.getClass());
	tc.showF();
	//tc.showC();
}
}

class TFather{
	protected int num = 3;
	public TFather(){
	}
	public void show(){
		System.out.println("父类show");
	}
	public void showF(){
		System.out.println("子类没有");
	}
}
class TChild extends TFather{
	protected int num = 4;
	public TChild(){
		
	}
	public void show(){
		System.out.println("子类show");
	}
	public void showC(){
		System.out.println("子类没有");
	}
}

 

结果:

 

子类show
3
class com.TChild
子类没有

 

  执行tc.showC()时会报错,

 

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
	The method showC() is undefined for the type TFather

	at com.JavaTest.main(JavaTest.java:10)
 

 

 

 

分享到:
评论

相关推荐

    c++访问私有private成员变量的常用方法

    类的对象不能直接访问类声明的私有成员变量,否则破坏了信息隐藏的目的。 在C++中,为了防止某些数据成员或成员函数从外部被直接访问,可以将它们声明为private,这样编译器会阻止任何来自外部非友元的直接访问。 ...

    Java笔试题大汇总

    子类不能继承父类中访问权限为private的成员变量和方法,子类可以重写父类的方法,及命名与父类同名的成员变量。 子类通过隐藏父类的成员变量和重写父类的方法,把父类的状态和行为改变为自身的状态和行为。注意:...

    JAVA经典继承与父类调用 geter、seter访问器 构造器

    代码中设计了各个类的基类,设置私有成员变量,利用构造器对成员变量初始化,用geter、seter访问器设置、获取成员变量的值。继承基类并创建对象,在子类中调用父类方法。

    【04-面向对象(上)】

    对于类属性无论通过类还是对象来访问都是访问同一个对象,只要一个对象改变 了类属性,那么其他对象对应的类属性也改变了.成员变量不用显式初始化,只要定义了一个类属性或实例属性,系统 默认进行初始化。 局部变量 ...

    JAVA基础(二)String/StringBuffer/StringBuilder/成员变量和局部变量/对象实体和对象引用

    (1) 子类拥有父类对象所有的属性和方法,父类中的私有属性和方法子类无法访问,只是拥有; (2) 子类可以拥有自己的属性和方法; (3) 子类可以用自己的方式实现父类的方法。 多态:程序中定义的引用变量所指向的具体...

    Java继承后访问成员的特点.docx

    对象访问成员变量时,会先在子类中查找有没有定义对应的变量,若子类中存在就会就近使用子类中的变量,若子类中没有定义就会沿着继承关系往上找有没有定义相应的变量,若父类中也没有则编译不通过。代码示例:

    Java中成员方法与成员变量访问权限详解

    在Java学习过程中,在写类经常为用到public,private和protected,我个人的经验是一般类的成员变量都是用private,方法用public,类的内部用protected方法,如果是存在子类的,那我就会把父类中的成员变量变为...

    c.c++找工作面试重点结构图-mindmanager

    面向对象中的继承指类的继承,类似父子继承 1、子类拥有父类的所有成员变量和成员函数 2、子类就是一种特殊的父类 3、子类对象可以当作父类对象使用(赋值兼容性原则) 4、子类可以拥有父类没有的方法和属性..........

    《Java程序设计案例教程》教学课件05深入Java面向对象.pptx

    模块5 深入Java面向对象 《Java程序设计... 5.2 继承 5.2.1 继承的实现 【例5-1】 图5-2 创建子类Sector 图5-3 选择父类Circle 《Java程序设计案例教程》教学课件05深入Java面向对象全文共47页,当前为第9页。 5.2 继

    《java面向对象程序设计-继承和多态》教案.doc

    声明抽象类语法: abstract class{…… } 使用:父类中的某些抽象不包含任何逻辑,并需要在子类中重写,子类提供这种抽象方 法的实现细节 abstract 修饰符 3-2 抽象类可以具有指向子类对象的对象引用 abstract 修饰...

    【05-面向对象(下)】

    •即使通过null对象来访问类成员,程序也不会引发NullPointerException。  类成员不能访问实例成员。 单例类 •如果一个类始终只能创建一个对象,称为单例类。须符合以下几个条件:  –1.我们把该类...

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

    对象的使用包括引用对象的成员变量和方法,通过运算符·可以实现对变量的访问和方法的调 用,变量和方法可以通过设定一定的访问权限(见下面的例子)来允许或禁止其它对象对它的 访问。 我们先定义一个类 Point。 例子...

    Java经典面试题.pdf

    方法重写是指子类重新定义父类的方法,而方法重载是指在同一个类中定义多个同名但参数列表不同的方法。 3.什么是Java的静态关键字? 静态关键字用于修饰类的成员(方法、变量、代码块),使其在类加载时被初始化,...

    Python面向对象编程:私有成员,保护成员和普通成员;抽象基类与继承

    保护成员变量: _foo:以单下划线开头的表示的是 protected 类型的变量,即保护类型只能允许其本身与子类进行访问,不能用于 from module import * 普通成员变量:foo 类外可访问。 私有方法:__private_method...

    实验04 Java面向对象编程2.doc

    //创建子类对象 System.out.println(s.toString()); //显示s的个人信息,调用继承父类的toString方法 s.setScore(80,88,95); //设置三门课的成绩 System.out.printf(“三门课的平均分:%.2f”, s.avg()); //显示...

    剖析Java中的访问/非访问控制符以及神奇的main函数

    文章目录前言特性中的继承访问控制符成员访问控制符private默认protectedpublic类的访问控制符非访问控制符static静态域静态方法finalfinal类final方法final字段和局部变量main()方法 你好,我是goldsun。 你有想法...

    Java面向对象程序设计.doc

    " " " "二、选择题 (30') " "1、关于被私有保护访问控制符private " "protected修饰的成员变量,以下说法正确的是( ) " "A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在 " "其他包中的该类的...

    JAVA基础知识精华总结 收藏

    不仅第一次创建对象时,类中的所有静态变量都初始化,并且第一次访问某类(注意此时 未创建此类对象)的静态对象时,所有的静态变量也要按它们在类中的顺序初始化。 2、 继承时,对象的初始化过程 (1) 主类的超类...

    c#学习笔记——学习心得

    域:一个代表和某对象或类相关的变量的成员 字段:和属性相同,是用来存储对象的值,可以直接访问数据且不能对数据添加任何限制,但是属性不能且可以对数据添加访问限制。一个在类或结构的定义中声明的变量。可以被...

    java:接口和抽象类练习

    抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。 由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段...

Global site tag (gtag.js) - Google Analytics