读书笔记(第十七讲)constructor overload & inhertence

这里主要是讲解构造方法的重载constructor overload
已经了解了在构造对象时,会构造对象时会先调用其默认构造方法,如果我们事先定义的类的构造方法,那么就会该构造方法就会隐藏其默认构造方法。
本讲还讲到一个keyword那就是this,this表示对该类的构造方法进行调用。当然会根据实际情况进行调用。
public class ConstructOverload
{
public ConstructOverload()
{
this(3);//this的位置也很重要
System.out.println("test");

//this(3);//在这个位置上调用将出现错误,错误提示比较明显。可以方便改动。

}
public ConstructOverload(int i)
{
System.out.println(++i);
}


public static void main(String[] args)
{
ConstructOverload test=new ConstructOverload();
ConstructOverload test1=new ConstructOverload(1);
// System.out.println()
}
}


在本讲的会面也讲述了inheritence.在JAVA中,inheritence主要是单继承,不象C++存在多重继承,也省去了不少麻烦。
我们在定义类后,用keyword中的extends (延长)来表示继承关系。继承的时候,会先调用父类的默认构造方法来创建父类对象,之后再调用子类的默认构造方法来创建子类对象,如果我们在父类的构造方法上进行overload, 那么将直接用继承关系来创建子类对象,将出现编译出错。假如我们不再写父类的默认构造方法呢?那该怎么办?一个keyword就应运而生了,它就是super。这个关键字主要表示对父类的引用。用super(参数)这样的格式进行调用。
public class InheritenceTest
{
public static void main(String[] args)
{
Apple apple=new Apple();
System.out.println(apple.name);
}
}

class Fruit
{
String name="Fruit";
}

class Apple extends Fruit
{


}
子类的构造父类对象后,子类可以进父类的方法、属性进行重写。使子类具有自己的对象。







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值