`

Java继承中变量和方法在各访问权限下的情况

    博客分类:
  • Java
阅读更多

下面程序的可读性不怎么好,可以说比较差吧,就凑合着看吧,就为了理解一下。

 

package cn.lifx.test;

public class SubParTest 
{
	public static void main(String[] args)
	{
		ParentClass pc = new ParentClass();
		System.out.println(pc.publicValue);
		System.out.println(pc.friendlyValue);
		System.out.println(pc.protectedValue);
		System.out.println(pc.getPrivaeValue());
		pc.publicFun();
		pc.friendlyFun();
		pc.protectedFun();
		
		System.out.println();
		
		ParentClass psc = new SubClass();
		System.out.println(psc.publicValue);
		System.out.println(psc.friendlyValue);
		System.out.println(psc.protectedValue);
		System.out.println(psc.getPrivaeValue());
		psc.publicFun();
		psc.friendlyFun();
		psc.protectedFun();
		
		System.out.println();
		
		SubClass sc = new SubClass();
		System.out.println(sc.publicValue);
		System.out.println(sc.friendlyValue);
		System.out.println(sc.protectedValue);
		System.out.println(sc.getPrivaeValue());
		sc.publicFun();
		sc.friendlyFun();
		sc.protectedFun();
	}
}

class SubClass extends ParentClass
{
	public String publicValue = "sub_public_field";
	String friendlyValue = "sub_friendly_field";
	protected String protectedValue = "sub_protected_field";
	private String privateValue = "sub_private_field";
	
	public void publicFun()
	{
		System.out.println("sub_public_function()");
	}
	
	void friendlyFun()
	{
		System.out.println("sub_friendly_function()");
	}
	
	protected void protectedFun()
	{
		System.out.println("sub_protected_function()");
	}
	
	public String getPrivaeValue()
	{
		return this.privateValue;
	}
}

class ParentClass
{
	public String publicValue = "parent_public_field";
	String friendlyValue = "parent_friendly_field";
	protected String protectedValue = "parent_protected_field";
	private String privateValue = "parent_private_field";
	
	public void publicFun()
	{
		System.out.println("parent_public_function()");
	}
	
	void friendlyFun()
	{
		System.out.println("parent_friendly_function()");
	}
	
	protected void protectedFun()
	{
		System.out.println("parent_protected_function()");
	}

	public String getPrivaeValue()
	{
		return this.privateValue;
	}
}

 

 

输出为:

 

parent_public_field
parent_friendly_field
parent_protected_field
parent_private_field
parent_public_function()
parent_friendly_function()
parent_protected_function()

parent_public_field
parent_friendly_field
parent_protected_field
sub_private_field
sub_public_function()
sub_friendly_function()
sub_protected_function()

sub_public_field
sub_friendly_field
sub_protected_field
sub_private_field
sub_public_function()
sub_friendly_function()
sub_protected_function()

 

0
0
分享到:
评论

相关推荐

    java中继承的使用案例

    (2)学生类Student继承Person,增加了学号信息,有两个构造方法Student()和Student(姓名,性别,年龄,学号),调用父类Person的构造方法对父类部分进行构造,在Student()中,默认学号为空字符串,在Student...

    Java子类的继承性

    如果子类和父类在同一个包中,那么子类自然地继承了其父类中不是private的成员变量作为自己的成员变量,并且也自然地继承了父类中不是private的方法作为自己的方法。继承的成员变量以及方法的访问权限保持不变。  ...

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

    用,变量和方法可以通过设定一定的访问权限(见下面的例子)来允许或禁止其它对象对它的 访问。 我们先定义一个类 Point。 例子: class Point{ int x,y; String name = "a point"; Point(){ x = 0; y = 0; } Point( ...

    Java开发技术大全(500个源代码).

    showMain.java 演示main方法访问本类成员 showMethod.java 演示如何定义一个方法体 showReturn_1.java return语句示例1 showReturn_2.java return语句示例2 showStaicVar.java 演示静态变量的使用 staticBlock...

    java视频教程(52课)上 基本概念 面向对象基础 语法 接口 包和访问权限

    01_Java考古学.mp4 02_Java创世纪.mp4 03_Java基本概念(一).mp4 04_Java的变量.mp4 ...25_包和访问权限(一).mp4 26_包和访问权限(二).mp4 27_包和访问权限(三).mp4 28_接口的基本语法.mp4 29_接口的应用.mp4

    JAVA面试题最全集

    51.Object类(或者其子类)的finalize()方法在什么情况下被调用? 52.一个“.java”原文件中是否可以包括多个类(不是内部类)? 53.掌握内部类和接口的概念 54.StringTokenizer类的使用 55.数据结构,如何遍历...

    java 面试题 总结

    派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 3.封装: 封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即...

    Java面向对象程序设计(“方法”相关文档)共57张.pptx

    成员方法的声明格式: [<修饰符>]<返回类型> <方法名> ([<参数表列>]) [throws <异常类>] { 方法体 } 修饰符: 方法的访问权限(缺省的、public、protected和private) static: 类方法(静态方法); abstract: 抽象...

    Java2实用教程.rar

    9 7在同步方法中使用wait notif 和nodf3 All 方法 9 8挂起 恢复和终止线程 9 9计时器线程Timer 9 10线程联合 9 11守护线程 习题 第10章输入输出流 10 1File类 10 2FileInputStream类 10 3FileOutputStream类 10 4...

    Java入门教程(微学苑)-part1

    4 Java继承和多态 61 4.1 继承的概念与实现 61 4.2 Java super关键字 63 4.3 调用隐藏变量和被覆盖的方法 63 4.4 调用父类的构造方法 64 4.5 继承中的方法的覆盖和重载 65 4.6 多态和动态绑定 66 4.7 动态绑定 69 ...

    Java 基础核心总结 +经典算法大全.rar

    访问控制权限继承 多态组合代理 向上转型static final 接口和抽象类接口 抽象类异常 认 识 Exception 什么是 Throwable 常见的 Exception 与 Exception 有关的 Java 关键字 throws 和 throw try 、finally 、catch ...

    java面试题

    Overload和Override的区别。Overloaded的方法是否可以...4、对于继承来说,如果某一方法在父类中是访问权限是priavte,那么就不能在子类对其进行重载,如果定义的话,也只是定义了一个新方法,而不会达到重载的效果。

    JAVA基础教程

    •Java 中的变量与数据类型 •运算符、表达式与语句 •循环与选择结构 •数组与方法的使用 --第 1 章 认识 Java --第 2 章 简单的 Java 程序 --第 3 章 Java 基本程序设计 --第四章、数组与方法 第 2 部分 Java...

    Java语音学习,基础教程

    熟悉常用API:包括Date、DateFormat、Calendar、System和StringBuilde等,这些是在Java编程中经常用到的类和方法。 学习集合:理解Java中的Collection、泛型、List、Set、Collections、Map和HashMap等概念和用法。 ...

    java初学者必看

    最近正在学习Java,也买了很多的有关Java方面的书籍,其中发现《跟我学Java》这本书,都的很不错啊,所以顺便拿电脑把这本书的目录敲了下来,与大家分享。尤其是那些和我一样初学Java的朋友们,看看哪一节对你有用,...

    java经典面试2010集锦100题(不看你后悔)

    C) 类实现了接口,必须实现接口中的所有方法,并且接口中的所有方法均为public,在实现类中不可以削弱接口中方法的访问权限。 D) 类实现了接口,实现接口中的方法时可以重写该方法的访问权限,但是无法改变接口中...

    JAVA 面向对象程序设计第3章 继承与多态.pptx

    3.1.3 包的访问权限;3.1.4 学生实践练习;3.1.4 学生实践练习;3.2 继承;3.2 继承;3.2.1 继承概述;3.2.1 继承概述;3.2.2 继承的实现;3.2.2 继承的实现;3.2.3 学生实践练习;3.2.3 学生实践练习;3.3 重载和重写;3.3 重载...

    赛杰IT -java期末测试题 笔试部分

    (4)一个子类继承父类,子类不可以继承父类中访问权限设定为 的变量和方法. A)public B) protected C)private D)未修饰 (5) 下列叙述正确的是 A) 在类中的构造方法的名字与类的名字相同, 而且不能重载 B) 在...

Global site tag (gtag.js) - Google Analytics