public class Test {
public static void main(String[] args) {
new Son("baidu");
new Son();
}
}
class Farther{
public Farther(){
System.out.println("I am father");
}
public Farther(String name){
System.out.println("I am father:"+name);
}
}
class Son extends Farther{
public Son(){
System.out.println("I am son");
}
public Son(String name){
//super("google");
System.out.println("I am son:"+name);
}
}
Java在实例化一个对象的时候,如果没有显式使用super(),则会先调用父类的无参构造函数(不是和自己构造函数参数数量对应的那个),然后调用子类的构造函数,如果父类不是Object类,则一直向上追溯到Object类为止,super()只能在构造函数的第一行使用,在别的地方使用均为非法,一般情况下构造函数不用写super(),但是如果一个类有多个构造函数的时候,为了便于理解,往往要显式调用super()。
上面代码的运行结果为:
I am father
I am son:baidu
I am father
I am son
分享到:
相关推荐
super(参数):调用父类中的某一个构造函数(应该为构造函数中的第一条语句)。 this(参数):调用本类中另一种形式的构造函数(应该为构造函数中的第一条语句)。 要记住的几个关键点是: 在构造方法中this...
parameter-list指定超类中构造函数所需的任何形参,super()必须是在子类构造函数中执行的第一个语句。超类定义的任何形式的构造函数都可以被super()调用,被执行的构造函数是与实参相匹配的那一个。 当...
java 静态_非静态 字段_方法_代码块 子类父类构造_初始化顺序! 三个class 让你清清楚楚 第一个class java代码如下: package initialOrder; class Parent { // 静态变量 public static String p_StaticField...
this和super ,这两个变量在使用前都是不需要声明的.this变量使用在一个成员函数的内部,指向当前对象,当前对象指的是调用当前正在执行方法的那个对象.super变量是直接指向超类的构造函数,用来引用超类中的变量和方法....
1.子类的构造函数如果要引用super的话,必须把super放在函数的首位,如果想用super继承父类构造的方法,但是没有放在第一行的话,那么在super之前的语句,肯定是为了满足自己想要完成某些行为的语句,但是又用了...
1。Java中的继承有几种类型?试举例说明。 2。方法的继承,方法的覆盖,方法的重载各指的是什么?试举例说明。 3。子类中的父类成员何时初始化?...有CommonEmployee类和...如何在一个构造函数中调用另一个构造函数?
总结了Java学习中的52个关键字(包括一些总结),...super 后加参数的是用来调用父类中具有相同形式的构造函数,this 后加 参数则调用的是当前具有相同参数的构造函数。 4>this通常指代当前对象,super 通常指带父类。
Super.java 一个基类 testOverload.java 测试方法的重载示例1 testOverload_1.java 测试方法的重载示例2 testOverload_2.java 测试方法的重载示例3 testOverload_3.java 测试方法的重载示例4 useConstructor....
//调用父类构造函数 DefaultMutableTreeNode root = new DefaultMutableTreeNode("设置"); //生成根节点 DefaultMutableTreeNode node1=new DefaultMutableTreeNode("常规"); //生成节点一 node1....
本书从实际出发,将Java程序员面试中常会考到的一些编程基础性问题,比如final、super类、构造函数等最易考到的基础考点,放在第2部分Java程序设计里面,希望能切切实实解决实际问题。 面试题通过一道题考一个专类...
(3) super.([paramlist]) //调用父类中的构造函数 在类方法中(static),不能使用this或super修饰符 " Q0045 Java中是怎样捕获异常的? "try { //statement01 } catch(Exception e) { //statement02 } finally { ...
本书从实际出发,将Java程序员面试中常会考到的一些编程基础性问题,比如final、super类、构造函数等最易考到的基础考点,放在第2部分Java程序设计里面,希望能切切实实解决实际问题。 ? 深入性 面试题通过一道题...
//调用父类构造函数 jtfPath=new JTextField(16); //实例化文件路径输入框 JButton jbFile=new JButton("选择"); //实例化文件选择按钮 JPanel panel=new JPanel(); //实例化面板,用于容纳输入框和按钮 ...
由Person类派生出学生类Student和教师类Teacher,并为他们添加必要的数据,为这两个派生类编写必要的构造函数和析构函数。然后编写一个主函数对以上功能进行测试。 包括了很多的程序可供您参考!
//调用父类构造函数 Container container=getContentPane(); //得到容器 Icon imageIcon=new ImageIcon("image.gif"); //实例化一个图标 writeIcon(imageIcon); //把图标写入到文件里(存储对象到文件) ...
3. server类的构造函数通过调用 super(SERVER_PORT)来创建一个服务器端的Socket。 4. load()方法是一个循环,用于接收客户端的连接请求。每当接收到一个连接请求,就会创建一个新的线程来处理该连接。 5. Task类是一...
public JPasswordFieldDemo() { //构造函数 super("JPasswordField演示"); //调用父类构造函数 Container container=getContentPane(); //得到容器 container.setLayout(new GridLayout(3, 2, 2, 2));...
//调用父类构造函数 panel=new GraphPanel(); //实例化面板 panel.setBackground(Color.orange); //设置面板背景色为橙色 xSlider=new JSlider( SwingConstants.HORIZONTAL,0,200,10); //实例化滑杆 ...
类具有默认构造函数和参数化构造函数。 从大多数基类开始,默认构造函数由继承链调用。 可以通过以下调用访问超级构造函数: this . __super . constructor ( parameterA ) ; 另外, this.__super可用于访问...
java_base Java语言及高级特性学习工程目录base_...super_class:super()方法替换执行父类的无参构造函数useClass:类类的使用dynamic_proxy java JDK及第三方库CGLIB实现的两个动态代理socket_proj java socket编程