Java学习记录(五)super关键字的用法
来源:互联网 发布:新版淘宝收藏店铺在哪 编辑:程序博客网 时间:2024/05/16 14:59
在上次的课程中学习到Java的继承,在Java中当子类想使用父类的成员时就需要用到super这个关键字,而super在Java中有两种用途。
一、
第一种用途是在子类的构造方法中,super关键字可以调用父类的构造方法将参数传递给它。
其使用语法是:super(参数)
而需要注意的是:super关键字的使用必须在子类构造方法的第一条语句。来分析一个例子:
父类:
public class Person {public String name;public char sex;private int age;public Person(String name){this.name = name;}public int setAge(int age){return this.age = age;}public int getAge(){return this.age;}public void sleep(){System.out.println("人需要休息");}}子类:
public class Student extends Person {public Student(){//super("Tom");}public void sleep(){System.out.println("学生需要休息");}public void test(){setAge(10);System.out.println(getAge());super.sleep();}}启动函数:
public class Start {public static void main(String[] agrs){Student s = new Student();System.out.println(s.name);s.test();}}
在父类中,定义了一个有形参的构造方法,在子类中定义了一个无参的构造方法,在编译时会报错。因为在创建对象,子类实例化时,子类会默认调用父类的无参构造,这时就有两个解决方案。一是在父类中敲进去无参的构造方法,二是需要将子类中注释的语句敲进去,由此来实现子类的实例化。
二、
而第二种用途:是当父类和子类有同名成员时,子类会默认访问本类的成员。为了使子类访问父类中的同名成员就需要用到关键字super。
使用语法:super.成员名
接着继续拿上面这个例子来分析:
父类中有一成员方法sleep(),子类也有一个同名的方法sleep(),当需要使用父类的sleep()方法时就通过语句:super.sleep();来调用。
0 0
- Java学习记录(五)super关键字的用法
- 黑马程序员 java学习笔记之一(java中this和super关键字的用法)
- Java super关键字用法
- Java super关键字用法
- Java复习(一)-关键字this,super的用法
- java继承中super关键字的用法
- 【JAVA】this和super关键字的用法
- JAVA中super关键字的用法
- java关键字this、super的用法
- Java编程中super关键字的用法
- java中关键字super的用法
- java中super关键字的用法
- Java中super 关键字的用法
- super关键字的用法
- super关键字的用法
- super关键字的用法
- Java中this关键字和super关键字的用法
- java中的super关键字用法
- NYOJ D的小L 366
- 为何ViewController释放后不走dealloc
- 怎么上Google
- Building Ogre in Windows 7/8 using Visual Studio 2012
- 正则应用之——日期正则表达式
- Java学习记录(五)super关键字的用法
- project02:阶段性总结
- 了解云计算二(云存储)
- 刻通云KeyTone Cloud测试
- andoroid实现滑动上下滑动列表的时候动画隐藏其他视图
- 跨域解决方案之一---->JQuery.Ajax JSONP解决跨域访问
- 建造模式
- 链栈
- Android大图片裁剪终极解决方案(上:原理分析)