这里写目录标题
- 1.类
- 1.1 类和对象的关系
- 1.2 构造函数
- 1.2.1 概念
- 1.2.1.1 修饰符
- 1.2.1.2 返回值类型
- 1.2.1.3 函数名
- 1.2.1.4 参数列表
- 1.2.1.5 return语句
- 1.2.1.6 扩展
- 2.继承
- 2.1 继承的好处和限制
- 2.2 子父类中定义了一模一样的成员变量
1.类
1.1 类和对象的关系
类是对象的抽象,对象是类的实例化
一个类中书写的成员有以下几种:
- 成员变量
- set和get函数
- 其他一般函数
- 构造函数
1.2 构造函数
1.2.1 概念
构造函数就是在创建对象时由JVM自动调用的函数,作用是在创建对象时给对象的成员变量赋值的
;
1.2.1.1 修饰符
构造函数只能使用访问权限修饰符修饰;如public、private等;不允许使用static关键字修饰构造函数
1.2.1.2 返回值类型
构造函数没有返回值类型,连void都没有;这个是区分一个函数是否是构造函数的标准
1.2.1.3 函数名
构造函数的函数名必须和类名一致
1.2.1.4 参数列表
构造函数可以重载,参数列表可以根据需要定义;
1.2.1.5 return语句
所有Java的函数都需要通过return语句出栈,所以构造函数中也有return语句,只是因为不返回数据,所以一般不写;
1.2.1.6 扩展
private构造函数常用于单例模式
public class Demo {
private static Demo demo;
private Demo() {
}
public static Demo getInstance() {
if (null == demo) {
demo = new Demo();
}
return demo;
}
}
静态方法只能调用静态方法。
不能调用非静态成员变量,因为它们还没被创建(没被赋值),也不能调用非静态方法,因为非静态方法往往会调用非静态成员变量。
静态方法间接调用非静态方法
静态方法可以调用非静态方法前提是这个非静态方法已经实体化,也就是通过 对象名.方法名 的形调用。
静态方法还可以调用类的构造方法。
因为构造函数比较特殊,不用担心构造方法里会调用还未创建的成员变量,因为它的职责就是创建成员变量。
2.继承
2.1 继承的好处和限制
类的继承是指在一个现有类的基础上去构建一个新的类.
构建出来的新类被称作子类,现有类被称作父类.
子类 无条件拥有父类全部可继承的属性和方法
.继承通过extends
关键字实现.
Java中子类继承父类,可以继承父类中非私有成员;构造函数不参与继承;
2.2 子父类中定义了一模一样的成员变量
1.两个变量都存在于子类中.如果子类调用父类继承过来的方法访问成员变量,那么系统首先会在父类继承的成员中查找
.如果找到,则直接使用.如果没有找到,才会在子类中寻找.
2.如果子类直接调用自己类中的方法,那么系统首先在子类自己的属性中查找.如果找到则直接拿来使用,如果没有找到.那么才会在父类中进行寻找.
3.在子类中若要访问父类中的成员变量,可以使用关键字super来完成。super用来表示当前对象中包含的父类对象空间的引用。super今天不做具体讲解.