Hello,大家好呀,上一周提到的是循环结构,本周我们要讲的是类和继承及类与继承的一点点知识。
类的声明
1.类的概念
通俗来讲,类是对对象的抽象描述,对象是表示现实世界中某个具体的事物。类作为一个抽象的数据类型。用来描述相同类型的对象。
2.定义类的语法格式
[修饰符] class 类名[extends 父类名] [implements 接口名列表]{
类成员变量声明;
类方法声明;
}
例如:
创建一个简单的Main类
public class Main{
private double money = 0;
public double sell () { };
}
对象的创建与使用方法
1.创建对象
[修饰符] 类名 对象名 = new 类名(实参列表);
或
[修饰符] 类名 对象名;
对象名 = new 类名(实参列表);
2.对象的引用
(1)引用成员变量
对象名. 成员变量名
(2)引用方法
对象名.方法名(参数列表)
类的继承
1.继承的概念、分类与实现
(1)继承的概念
继承即从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。
(2)继承的分类
继承分为单继承和多继承,单继承是一个子类最多只能有一个父类;多继承是一个子类可有两个以上的父类。
(3)继承的实现
子类定义的语法格式:
[类修饰符] class 子类名 extends 父类名{
成员变量定义;
成员方法定义;
}
在子类的定义中,用关键字extends来明确指出它所继承的父类。例如:
class Cat extends animal { }
animal类就叫做父类,也称为超类或基类;Cat类叫做子类,也叫做派生类。
2.构造方法在继承中的应用
构造方法的继承需要遵循以下原则:
①子类无条件地继承父类的无参数的构造方法。
②如果子类没有定义构造方法,则它将继承父类无参数的构造方法作为自己的构造方法:如果子类定义了构造方法,则在创建子类对象时,将先执行来自继承父类的无参数的构造方法,然后再执行自己的构造方法。由此可以引申得出,父类的对象是优先于子类对象而存在的。也就是说,父类对象的构造在子类对象构造之前,即先调用父类构造方法创建父类对象,再调用子类构造方法创建子类对象。
③对于父类带参数的构造方法,子类可以通过在自己的构造方法中使用super关键字来调用它、但这个调用语句必须是子类构造方法中的第一条可执行语句,所以如果子类的第一行编写了this(),因为this也会占用第一行,所以此时就会将super()挤掉,就不会调用父类构造方法,因此在运行时会报错!
好啦,今天的分享就到这里了,希望能给有需要的朋友们一些帮助,有错误的话还请大家指正。