1.构造方法的重载是指同一个类中定义不同参数的多个构造方法,已完成不同情况下对象的初始化。

例如:

Point();
Point(x);
Point(x,y);

2.一个类的若干个构造方法之间可以相互调用,当类的构造方法需要调用另一个构造方法时,可以使用关键子 this();括号可以带参数或不带参数,并且这个调用语句必须是这个构造方法的第一个可执行语句。

例如:

class Sun {
Sun(int a){
System.out.println("Hello this is week "+a);
}
Sun(){
this(5); //调用另一个构造方法
System.out.println("My name is Sun");
}
} public class Test{
public static void main(String args[]){
Sun moon=new Sun(); } }
运行结果:
Hello this is week 5
My name is Sun

this的用法

3.构造方法的继承

Java中子类可以继承父类的构造方法,构造方法的继承遵循以下的原则:

一.子类无条件的继承父类的无参数构造方法

二.对于带参数的父类的构造方法,子类可以在自己的构造方法中使用super关键字来调用它,但这个调用的语句必须是子类构造方法中的第一个可执行语句

三.如果子类中没有定义构造方法,则它将继承父类的无参数构造方法作为自己的构造方法(注意不是将父类的带参数的构造方法作为自己的构造方法)l如果子类定义了构造方法,则在创建对象时,将先执行来自继承父类的无参数构造方法,然后在执行自己的构造方法。

四.父类与子类的构造方法的执行顺序:先执行父类的构造方法,再依次执行子类的构造方法

例如:

class A{
public A(){
System.out.println("Hello A");
}
} class B extends A{
public B(){
System.out.println("Hello B");
}
} class C extends B{
public C(){ System.out.println("Hello C");
}
} public class Test { public static void main(String[] args) {
C c=new C();
} }

构造方法的继承

4.super的用法

一.当在子类的构造方法中需要调用父类无参数的构造方法时,要用到super关键字,且super();只能放在子类构造方法的第一个语句。

例如:

package Yang;

public class MyTest {

    public static void main(String[] args) {
river i=new river(); } } class Build{ Build(){
System.out.println("我叫杨萌晖");
for(int i=1;i<=20;i++){
if(i%3==0){
System.out.println("Oh It's sunny today " +i);
}
else if(i%5==0){
int b=i;
System.out.println("西南科技大学" +b);
} }
}
} class river extends Build{
river(){
super();
System.out.println("我今年上大二了");
}
}

super的用法

[ 原创 ] Java基础2--构造方法的继承和重载的更多相关文章

  1. Java基础—String构造方法

    Java基础--String构造方法 public String(): 创建一个空表字符串对象,不包含任何内容 public String(char[]chs): 根据字符数组的内容,来创建字符串对象 ...

  2. java基础知识 构造方法

    在java里面,构造方法也就是构造函数 构造函数=构造方法;构造方法是一种特殊的方法,具有以下特点.(1)构造方法的方法名必须与类名相同.(2)构造方法没有返回类型,也不能定义为void,在方法名前面 ...

  3. Java基础学习总结(11)——重载与重写

    首先我们来讲讲:重载(Overloading) 一.方法的重载 方法名一样,但参数不一样,这就是重载(overload). 所谓的参数不一样,主要有两点:第一是参数的个数不一样,第二是参数的类型不一样 ...

  4. Java基础知识点4:继承

    继承是面向对象编程技术中非常重要的一个基本概念.它背后的基本思想就是:通过已有的类来创建一个新的类,这个新的类可以重用(或继承)已有的类方法:新的类也可以加入新的方法和属性. 在这里我们通过一个实例来 ...

  5. 九、Java基础---------面向对象封装、继承、多态

    封装 1.1 基本概念  封装(encapsulation)是面向对象三大特征之一,它是指将对象的状态信心隐藏在对象的内部,不允许外部直接进行访问,而是通过该类提供的方法来实现对内部信息的操作和访问. ...

  6. Java基础10 接口的继承与抽象类

    链接地址:http://www.cnblogs.com/vamei/archive/2013/03/31/2982240.html 作者:Vamei 出处:http://www.cnblogs.com ...

  7. java基础(4)继承和多态

    1 继承 1.1  继承概述 继承要解决的问题:共性抽取 1.2 继承的格式 class 父类 { ... } class 子类 extends 父类 { ... } 1.3 继承中成员变量的特点(变 ...

  8. 【代码笔记】Java基础:类的继承(构造器)

    在Java中,创建对象的格式为: 类名 对象名 = new 类名(): 如: 1 JFrame jf = new JFrame(); 一个对象被创建出来时,经常要先做一些事这个对象才能正常使用,也可以 ...

  9. Java基础10 接口的继承与抽象类(转载)

    接口继承 接口继承(inheritance)与类继承很类似,就是以被继承的interface为基础,增添新增的接口方法原型.比如,我们以Cup作为原interface:  interface Cup{ ...

随机推荐

  1. 【leetcode 简单】 第七十二题 各位相加

    给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数. 示例: 输入: 38 输出: 2 解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2. 由于 2 是一位数,所 ...

  2. Oracle嵌套表

    一.介绍  1.定义 嵌套表是表中之表.一个嵌套表是某些行的集合,它在主表中表示为其中的一列.对主表中的每一条记录,嵌套表可以包含多个行.在某种意义上,它是在一个表中存储一对多关系的一种方法.    ...

  3. Next Permutation & Previous Permutation

    Next Permutation Given a list of integers, which denote a permutation. Find the next permutation in ...

  4. PostgreSQL内核分析——BTree索引

    文中附图参考至<PostgreSQL数据库内核分析> (一)概念描述 B+树是一种索引数据结构,其一个特征在于非叶子节点用于描述索引,而叶子节点指向具体的数据存储位置.在PostgreSQ ...

  5. sicily 1215. 脱离地牢

    Description 在一个神秘的国度里,年轻的王子Paris与美丽的公主Helen在一起过着幸福的生活.他们都随身带有一块带磁性的阴阳魔法石,身居地狱的魔王Satan早就想得到这两块石头了,只要把 ...

  6. Android页面之间进行数据回传

    要求:页面1跳转到页面2,页面2再返回页面1同时返回数据 页面1添加如下代码: Intent intent = new Intent(); intent.setClass(页面1.this, 页面2. ...

  7. Python函数:对变量赋值,变量即局部

    b = 6 def f2(a): print(a) print(b) b = 9 UnboundLocalError: local variable 'b' referenced before ass ...

  8. Vue 实现loading进度条

    项目中遇到的,用vue实现下: <template> <div class="plLoading"> <div class="plLoadi ...

  9. 学习总结——JMeter做http接口功能测试

    JMeter对各种类型接口的测试 默认做接口测试前,已经给出明确的接口文档(如,http://test.nnzhp.cn/wiki/index.php?doc-view-59):本地配好了JMeter ...

  10. eclipse导入/导出项目要注意三个地方

    这个三个地方的jdk必须保持一致,不报错