[ 原创 ] Java基础2--构造方法的继承和重载
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--构造方法的继承和重载的更多相关文章
- Java基础—String构造方法
Java基础--String构造方法 public String(): 创建一个空表字符串对象,不包含任何内容 public String(char[]chs): 根据字符数组的内容,来创建字符串对象 ...
- java基础知识 构造方法
在java里面,构造方法也就是构造函数 构造函数=构造方法;构造方法是一种特殊的方法,具有以下特点.(1)构造方法的方法名必须与类名相同.(2)构造方法没有返回类型,也不能定义为void,在方法名前面 ...
- Java基础学习总结(11)——重载与重写
首先我们来讲讲:重载(Overloading) 一.方法的重载 方法名一样,但参数不一样,这就是重载(overload). 所谓的参数不一样,主要有两点:第一是参数的个数不一样,第二是参数的类型不一样 ...
- Java基础知识点4:继承
继承是面向对象编程技术中非常重要的一个基本概念.它背后的基本思想就是:通过已有的类来创建一个新的类,这个新的类可以重用(或继承)已有的类方法:新的类也可以加入新的方法和属性. 在这里我们通过一个实例来 ...
- 九、Java基础---------面向对象封装、继承、多态
封装 1.1 基本概念 封装(encapsulation)是面向对象三大特征之一,它是指将对象的状态信心隐藏在对象的内部,不允许外部直接进行访问,而是通过该类提供的方法来实现对内部信息的操作和访问. ...
- Java基础10 接口的继承与抽象类
链接地址:http://www.cnblogs.com/vamei/archive/2013/03/31/2982240.html 作者:Vamei 出处:http://www.cnblogs.com ...
- java基础(4)继承和多态
1 继承 1.1 继承概述 继承要解决的问题:共性抽取 1.2 继承的格式 class 父类 { ... } class 子类 extends 父类 { ... } 1.3 继承中成员变量的特点(变 ...
- 【代码笔记】Java基础:类的继承(构造器)
在Java中,创建对象的格式为: 类名 对象名 = new 类名(): 如: 1 JFrame jf = new JFrame(); 一个对象被创建出来时,经常要先做一些事这个对象才能正常使用,也可以 ...
- Java基础10 接口的继承与抽象类(转载)
接口继承 接口继承(inheritance)与类继承很类似,就是以被继承的interface为基础,增添新增的接口方法原型.比如,我们以Cup作为原interface: interface Cup{ ...
随机推荐
- 【leetcode 简单】 第七十二题 各位相加
给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数. 示例: 输入: 38 输出: 2 解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2. 由于 2 是一位数,所 ...
- Oracle嵌套表
一.介绍 1.定义 嵌套表是表中之表.一个嵌套表是某些行的集合,它在主表中表示为其中的一列.对主表中的每一条记录,嵌套表可以包含多个行.在某种意义上,它是在一个表中存储一对多关系的一种方法. ...
- Next Permutation & Previous Permutation
Next Permutation Given a list of integers, which denote a permutation. Find the next permutation in ...
- PostgreSQL内核分析——BTree索引
文中附图参考至<PostgreSQL数据库内核分析> (一)概念描述 B+树是一种索引数据结构,其一个特征在于非叶子节点用于描述索引,而叶子节点指向具体的数据存储位置.在PostgreSQ ...
- sicily 1215. 脱离地牢
Description 在一个神秘的国度里,年轻的王子Paris与美丽的公主Helen在一起过着幸福的生活.他们都随身带有一块带磁性的阴阳魔法石,身居地狱的魔王Satan早就想得到这两块石头了,只要把 ...
- Android页面之间进行数据回传
要求:页面1跳转到页面2,页面2再返回页面1同时返回数据 页面1添加如下代码: Intent intent = new Intent(); intent.setClass(页面1.this, 页面2. ...
- Python函数:对变量赋值,变量即局部
b = 6 def f2(a): print(a) print(b) b = 9 UnboundLocalError: local variable 'b' referenced before ass ...
- Vue 实现loading进度条
项目中遇到的,用vue实现下: <template> <div class="plLoading"> <div class="plLoadi ...
- 学习总结——JMeter做http接口功能测试
JMeter对各种类型接口的测试 默认做接口测试前,已经给出明确的接口文档(如,http://test.nnzhp.cn/wiki/index.php?doc-view-59):本地配好了JMeter ...
- eclipse导入/导出项目要注意三个地方
这个三个地方的jdk必须保持一致,不报错