java学习之路 之 高级类特性-四种权限修饰符、关键字super、子类对象的实例化过程
2016-08-05 22:43
756 查看
四种访问权限修饰符
Java权限修饰符public、protected、private置于类的成员定义前,用来限定对象对该类对象成员的访问权限。对于class的权限修饰只可以用public和default。
public类可以在任意地方被访问。
default类只可以被同一个包内部的类访问。
关键字super
在Java类中使用super来调用父类中的指定操作:super可用于访问父类中定义的属性
super可用于调用父类中定义的成员方法
super可用于在子类构造方法中调用父类的构造器
注意:尤其当子父类出现同名成员时,可以用super进行区分
super的追溯不仅限于直接父类
super和this的用法相像,this代表本类对象的引用,super代表父类的内存空间的标识
关键字super举例
<pre name="code" class="java">class Person { protected String name="张三"; protected int age; public String getInfo() { return "Name: " + name + "\nage: " + age; } } class Student extends Person { protected String name = "李四"; private String school = "New Oriental"; public String getSchool(){ return school; } public String getInfo() { return super.getInfo() +"\nschool: " +school; } } public class TestStudent{ public static void main(String[] args){ Student st = new Student(); System.out.println(st.getInfo()); } }
调用父类的构造器
子类中所有的构造器默认都会访问父类中空参数的构造器
当父类中没有空参数的构造器时,子类的构造器必须通过this(参数列表)或者super(参数列表)语句指定调用本类或者父类中相应的构造器,且必须放在构造器的第一行
如果子类构造器中既未显式调用父类或本类的构造器,且父类中又没有无参的构造器,则编译出错
调用父类构造器举例
<pre name="code" class="java">public class Person { private String name; private int age; private String gender; public Person() {} public Person(String name,int age,String gender) { this.name = name; this.age = age; this.gender = gender; } } public class Student extends Person { private String school; public Student() {} public Student(String name,int age,String gender,String school) { super(name,age,gender); this.school = school; } }
this和super的区别
子类对象的实例化过程
相关文章推荐
- java面向对象-子父类中构造函数的特点-子类实例化过程super
- java学习之路 之 高级类特性2-类的成员之四:初始化块、关键字final
- java学习之路 之 高级类特性1-instanceof操作符、对象类型转换(造型)
- java学习之路 之 高级类特性1-面向对象特征之二:继承及方法重写(override)
- java学习之路 之 高级类特性2-关键字static、final、动态语句块结合的练习题
- JAVA学习--子类对象实例化的全过程
- Java学习笔记---13.面向对象编程08-Java中继承的概念,子类实例化过程,super()及方法复写
- Java子类实例化过程和Java方法重写与super关键字
- java学习之路 之 高级类特性2-关键字static、类变量、类方法、单例模式
- java学习之路 之 高级类特性1-面向对象特征之三:多态
- 18天Java学习---13.面向对象编程08-Java中继承的概念,子类实例化过程,super()及方法复写
- Java基础学习17(子类对象实例化的全过程图解,内存分配)
- JAVA学习--子类对象实例化的全过程
- JAVA基础-子类继承父类实例化对象过程
- Java 对象实例化过程以及子类…
- java学习之路 之 高级类特性2-抽象类、接口
- 再学 JAVA基础(5)对象转型,多态。【子类对象的实例化过程】
- Java子类对象的实例化过程
- java学习之路 之 高级类特性2-类的成员之五:内部类
- 黑马程序员--面向对象学习---继承和子类实例化过程