类的继承与权限控制
Java中使用extends关键字实现类的继承机制
通过继承,子类自动拥有了基类(superclass)的所以成员(成员变量和方法)
Java只支持单继承,不允许多继承:
一个子类只能有一个基类
一个基类可以派生出来多个子类
访问控制:
Java权限修饰符public protected private置于累的成员定义前,用来限制其他对象对该对象成员的访问权限。
修饰符
|
类内部
|
同一个包
|
子类
|
任何地方
|
private
|
Yes
|
|
|
|
default
|
Yes
|
Yes
|
|
|
protected
|
Yes
|
Yes
|
Yes
|
|
public
|
Yes
|
Yes
|
Yes
|
Yes
|
对于class的权限修饰只可以用public 和default
public类可以在任何地方被访问
default类只可以被同一个包内部的类访问
方法的重写
1. 在子类中可以根据需要对基类中继承来的方法进行重写。
2. 重写方法必须和被重写方法具有相同方法名称、参数列表和返回类型。
3. 重写方法不能使用比被重写方法更严格的访问权限。
Super关键字
在Java类中使用super来引用基类的成分;
Super指向当前类的父类对象
继承中的构造方法:
1. 子类的构造的过程中必须调用其基类的构造方法
2. 子类可以在自己的构造方法中
a) 使用super(argument_list)调用基类的构造方法。
b) 使用this(argument_list)调用本类的另外的构造方法
c) 如果调用super,必须写入子类构造方法的第一行
3. 如果子类的构造方法中没有显示地调用基类的构造方法,则系统默认调用基类无参数的构造方法
4. 如果子类构造方法中即没有显示调用基类构造方法,而基类中没有无参的构造方法,则编译出错。
Object类
Object类是所有Java类的根基类
如果在类的声明中未使用extends关键字指明其基类,则默认基类为object类
public class Person{
…
}
等价于
public class Person extends Object{
…
}
toString方法
Object类中定义了public String toString() 方法,其返回值是String类型,描述当前对象的有关信息
在进行String与其它类型数据的连接操作时(如:System.out.println(“info”+Person)),将自动调用该对象类的toString()方法
可以根据需要在用户自定义类型中重写toString()方法。
分享到:
相关推荐
使用super调用父类构造方法和方法 在子类中覆盖父类的方法 描述类型转换和显式向下转换的必要性 使用protected限制对数据和方法的访问 使用final修饰常量、不可覆盖的方法和不可继承的类 理解多态性、动态绑定 理解...
Java中IO流类的体系 149 四个IO基本抽象类 150 InputStream 150 OutputStream 150 常用InputStream和OutputStream子类用法 150 FileInputStream和FileOutputStream 150 ByteArrayInutStream和ByteArrayOutputStream ...
调用了实现类自己的无参构造,而且无参构造里第一行隐藏着super(),这时想去当前的父类也就是接口里找无参构造,但是接口里根本就没有构造方法,那这时找谁去要的无参构造呢?--其实会去找Object要无参构造。
介绍2.super关键字2.1 调用父类的构造方法2.2 构造方法链2.3 调用父类的方法3.方法重写4.Object类及其常用方法4.1 toString()方法4.2 equals()方法5. 防止拓展与重写 —final关键字二. 多态6.1 介绍6.2 动态绑定...
第3版 机械工业出版社 教学内容和要求 知识点 重要程度 使用频度 难度 Java 入门 高 中 易 变量和运算符 高 高 中 控制结构 高 高 易 数组 高 高 中 方法 很高 高 中 封装 很高 很高 难...
子类从它先辈类那里继承了代码和数据,这样,它就可以执行先辈类的功能和访问先辈 类的数据。一个纯面向对象程序设计的语言将具有严格的继承性。 通过对象、类,我们实现了封装,通过子类我们可以实现继承。例如,...
5.6.2 构造方法135 5.6.4 方法重载138 5.6.5 自定义方法138 5.6.6 系统提供方法139 5.6.7 方法调用140 5.6.8 方法参数及其传递问题144 5.6.9 理解main方法语法及命令行参数147 5.6.1 0递归算法147 5.7 this关键字148...
面向对象三大特性 封装、继承、多态、对象创建过程、访问修饰符、super关键字、方法重写、instanceof chp8.三个修饰符 static、final、abstract chp9.接口 基本语法、接口的作用、解耦合 chp10.常用类 内部类、...
20.8 在子类构造方法中如何调用父类构造方法? 23 20.9 super关键字 24 20.10 父类中私有属性和私有方法可以继承吗? 24 20.11 在代码开发时先开发父类还是先开发子类? 24 20.12 父类是怎么来的? 25 20.13 父类中...
下面哪个关键字,使类不能在被其他的类继承?c(选择1项) A) static B) finally C) final D) instance 题目14:a 程序如下: String s1=new String("Hello"); String s2=new String("there"); String s3=new ...
学生提问:既然内部类是外部类的成员,是否可以为外部类定义子类,在子类中再定义一个内部类来重写其父类中的内部类? 211 6.7.4 局部内部类 211 6.7.5 匿名内部类 212 6.7.6 闭包(Closure)和回调 215 6.8 ...
如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了。如果在一个类中定义了多个同名的...
文章目录继承与多态继承单继承方法的重写super关键字调用父类的构造器super和this的区别简单类对象的实例化过程子类对象的实例化过程面向对象特征——多态虚拟方法调用(Virtual Method Invocation)小结[instanceof ...
Java技术基础 4 1.1编程语言 4 1.2 Java的特点 4 1.3 Java开发环境 4 1.4 Java开发环境配置 5 1.5 Linux命令与相关知识 5 1.6 Eclipse/Myeclipse程序结构 6 Java语言基础 7 2.1基础语言要素 7 2.2八种基本数据类型 7...
如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了。如果在一个类中定义了多个同名的...
面向对象知识点详细文档 知识点如下: ...构造方法 private-私有化 封装 this-本对象 分包 static-静态的 继承 super-父类 重写 访问修饰符 Object final 抽象类及抽象方法 接口 多态 对象转型 内部类
25、JAVA中Object类中有哪些常用方法? 19 26、heap和stack有什么区别。 19 27、GC是什么? 为什么要有GC? 20 28、什么是内部类?分为哪几种? 20 29、为什么需要内部类? 20 30、内部类可以引用它的包含类的成员吗?...