Java 继承和访问控制
类的继承
- Java中使用extends来实现继承
- 通过继承,子类自动拥有了基类(supercalss)的所有成员。
- Java只支持单继承,一个子类只允许有一个基类,一个基类可以有多个子类。
class Person
{
private String name;
private int age;
public void setName (String name)
{
this.name = name;
}
public void setAge(int age)
{
this.age = age;
}
public String getName()
{
return name;
}
public String getAge()
{
return age;
}
}
class Student extends Person //继承
{
private String school;
public String getSchool()
{
return school;
}
public void setSchool(String school)
{
this.school = school;
}
}
内存分析
- 每new一个子类,它都包含一个父类的对象。

访问控制
default权限
- 如果我们在定义一个变量时前面什么都不加,这个变量就是default权限,也称包权限。如果其他的类想访问这个变量,那么他们必须在同一个包下面。
protected权限
- 子类可以访问
- 对于class的修饰只能用default和public

方法的重写

super关键字
- 和this类似,this表示当前对象。super表示父类。
class FatherClass
{
public int value;
public void f()
{
value = 100;
System.out.println("FatherClass.value = "+value);
}
}
class ChildClass extends FatherClass
{
public int value;
public void f()
{
super.f();
value = 200;
System.out.println("ChildClass.value = "+value);
System.out.println(value);
System.out.println(super.value);
}
}
public class Test
{
public static void main(String args[])
{
calss cc = new ChildClass();
cc.f();
}
}
内存分析

继承的构造方法

Java 继承和访问控制的更多相关文章
- 详解Java中的访问控制修饰符(public, protected, default, private)
Java中的访问控制修饰符已经困惑笔者多时,其中较复杂的情况一直不能理解透彻.今天下定决心,系统.全面地研究Java中的访问控制修饰符的所有方面,并整理成这篇文章,希望有同样疑惑的读者读完后能有所收获 ...
- 【笔试题】Java 继承知识点检测
笔试题 Java 继承知识点检测 Question 1 Output of following Java Program? class Base { public void show() { Syst ...
- Java学习笔记十九:Java中的访问控制修饰符
Java中的访问控制修饰符 一:Java修饰符的种类: 访问修饰符 非访问修饰符 修饰符用来定义类.方法或者变量,通常放在语句的最前端.我们通过下面的例子来说明: public class Hello ...
- 「万字图文」史上最姨母级Java继承详解
摘要:继承是面向对象软件技术中的一个概念.它使得复用以前的代码非常容易,能够大大缩短开发周期,降低开发费用. 本文分享自华为云社区<「万字图文」史上最姨母级Java继承详解丨[奔跑吧!JAVA] ...
- Java继承与组合
Java继承与组合 继承 java 中使用extends关键字表示继承关系,当创建一个类时,如果没有明确指出要继承的类,则是隐式地从根类Object进行继承. 子类继承父类的成员变量 子类能够继承父类 ...
- JAVA继承时构造函数的问题
今天看到java继承部分时,关于构造函数是否继承以及如何使用时遇到了点问题,后来查找相关资料解决了. 下面是我个人的总结: 先创建一个父类,里面有两个构造函数: public class Jisuan ...
- Java继承和接口
接口最关键的作用,也是使用接口最重要的一个原因:能上溯造型至多个基础类.使用接口的第二个原因与使用抽象基础类的原因是一样的:防止客户程序员制作这个类的一个对象,以及规定它仅仅是一个接口.这样便带来了一 ...
- Java继承的初始化
/** * Created by xfyou on 2016/11/2. * Java继承的初始化 */ public class Beetle extends Insect { int k = pr ...
- Java—继承、封装、抽象、多态
类.对象和包 1) 面向对象编程(Object Oriented Programming ,简称 OOP):20世纪70年代以后开始流行. 2) 结构化编程与面向对象编程的区别: A. 在结构化编程中 ...
随机推荐
- 第3章 jQuery中的DOM操作
parent() .parents().closest() 区别示例: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitiona ...
- Mysql是否开启binlog日志&开启方法
运行sql show variables like 'log_bin'; 如果Value 为 OFF 则为开启日志文件 如何开启mysql日志? 找到my,cnf 中 [mysqld] 添加如下 ...
- 一、linux基本操作
1.linux界面的切换 DOS界面终端打开:Ctrl+Alt+F1 /F2/F3 退出:Ctrl+Alt+F7 终端的打开与退出 打开:Ctrl+Alt+t 退出:Ctrl+d 2.第一次 ...
- python学习笔记:第20天 多继承、MRO C3算法
目录 一.多继承 二.旧式类的MRO 三.新式类的MRO 四.super 一.多继承 之前已经学习过了继承,当出现了x是⼀种y的的时候,就可以使⽤继承关系,即"is-a" 关系.在 ...
- Python学习:11.Python装饰器讲解(二)
回顾 上一节我们进行了Python简单装饰器的讲解,但是python的装饰器还有一部分高级的使用方式,这一节就针对python装饰器高级部分进行讲解. 为一个函数添加多个装饰器 今天,老板又交给你一个 ...
- Python 爬虫 (三)
#对第一章的百度翻译封装的函数进行更新 1 from urllib import request, parse from urllib.error import HTTPError, URLError ...
- 009---linux进程管理
进程管理 top 查看运行状态:top 查看cpu核心数:top and 1 查看cpu占用率最大:top and P free 查看内存状态:free 以M为单位:free -m 以G为单位:fre ...
- go学习笔记-错误处理
错误处理 通过内置的错误接口提供了非常简单的错误处理机制. error类型是一个接口类型 type error interface { Error() string } 可以在编码中通过实现 erro ...
- 20145202马超《java》实验5
两人一组结对编程: 参考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA 结对实现中缀表达式转后缀表达式的功能 MyBC.java 结对实现从上面 ...
- 20145202马超 2016-2017-2 《Java程序设计》第10周学习总结
学号 2016-2017-2 <Java程序设计>第X周学习总结 教材学习内容总结 一.网络编程 1.网络概述 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事 ...