java基础学习01
学习完进阶视频整理的;
类
类的五大成分:
- 成员变量Field:描述类或者对象的属性信息的。
- 成员方法Method:描述类或者对象的行为的。
- 构造器(构造方法,Constructor): 初始化类的一个对象返回
- 代码块 {…}
- 内部类
封装
- 面向对象的三大特征之一:封装,继承,多态
- 成员变量私有,方法公开,提供成套的getter和setter方法暴露成员变量的取值和赋值
- 合理隐藏,合理暴露。
- 1.使用
private
关键字来修饰成员变量。 - 2.使用
public
修饰getter和setter方法。
- 1.使用
继承
- 概念:就是子类继承父类的属性和行为,使得子类对象可以直接具有与父类相同的属性、相同的行为。子类可以直接访问父类中的非私有的属性和行为
- 好处:
- 1.提高代码的复用性(减少代码冗余,相同代码重复利用)
- 2 使类与类之间产生了关系。
- 通过extend声明继承关系
- 注意:Java是单继承的,一个类只能继承一个直接父类
- 不能继承:子类不能继承父类的构造器,因为子类有自己的构造器
- 子类可以继承父类的私有成员(成员变量,方法),只是子类无法直接访问而已,可以通过getter/setter方法访问父类的private成员变量
- 子类与父类中有重名的变量,子类会优先访问自己对象中的成员变量,父类中的需要用super方式访问
this、super关键字
- this代表本类对象引用
- this.本类成员变量、方法、兄弟构造器
- super代表父类对象引用
- 父类变量、方法、构造器
父类重写
- 概念:子类继承父类重写父类方法
- 注意:
* 1.重写方法的名称、形参列表要与父类被重写方法一致。
* 2.重写方法的权限要与父类一样或者更大。 public > protected > 缺省 > private
static关键字
- 用来修饰成员变量、方法
- 修饰变量调用方式
- 类名.静态变量
- 对象.静态变量
- 修饰方法调用方式
- 类名.静态方法
- 对象.静态方法
应用类型
- 1.引用类型作为方法参数和返回值
- 2.引用类型作为成员变量
抽象类
- 抽象类不能创建对象,如果创建,编译无法通过而报错。只能创建其非抽象子类的对象
- 抽象类中,可以有构造器,是供子类创建对象时,初始化父类成员使用的
- 抽象方法:是只有方法签名没有方法体,必须用abstract修饰
- 抽象类的子类,必须重写抽象父类中所有的抽象方法,否则子类也必须定义成抽象类,编译无法通过而报错
- 抽象类不一定有抽象方法,但是有抽象方法的类必须定义成抽象类
- 抽象类存在的意义是为了被子类继承,抽象类体现的是模板思想
- 抽象类本身也要用abstract修饰的,作用是让子类继承,子类一定要重写抽象方法
模板模式
// 司机开车的模板类
public abstract class Driver {
public void go() {
System.out.println("开门");
System.out.println("点火");
// 开车姿势不确定?定义为抽象方法
ziShi();
System.out.println("刹车");
System.out.println("熄火");
}
public abstract void ziShi();
}
public class NewDriver extends Driver {
@Override
public void ziShi() {
System.out.println("新司机双手紧握方向盘");
}
}
public class OldDriver extends Driver {
@Override
public void ziShi() {
System.out.println("老司机右手握方向盘左手抽烟...");
}
}
接口
- 更加彻底的抽象,接口中全部是抽象方法和常量(JDK1.8之后)
- 接口体现的是规范思想,实现接口的类必须重写完接口的全部抽象方法,否则这个类必须是抽象类
- interface修饰
- 实现接口 implements
- jdk1.8后包含静态方法与默认方法,还包含私有方法与静态方法
- 接口与接口是多继承的
- 类与接口是多实现的
public interface InterFaceName {
public default void method() {
// 执行语句
}
public static void method2() {
// 执行语句
}
private void method() {
// 执行语句
}
}
代码块
- 按照有无static可以分为静态代码块和实例代码
- 作用:在启动程序之前可以做资源的初始化,一般用于初始化静态资源。
final
- 修饰类,变量,和方法
- 修饰类:类不能被继承
- 修饰方法:方法不能被重写
- 修饰变量:变量有且仅能被赋值一次
单例模式
该模式的这个类只有一个实例。即一个类只有一个对象实例
- 1 将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象
- 2.在该类内部产生一个唯一的实例化对象,并且将其封装为private static类型的成员变量。
- 3.定义一个静态方法返回这个唯一对象
- 类型:
- 饿汉模式:使用类的时候已经将对象创建完毕
- 饱汉模式:调用getInstance()方法时实例才被创建
枚举
面向对象的一种特殊类型,可做信息分类、信息标志
格式:
enum 枚举名 {
第一行都是罗列枚举实例,这些枚举实例直接写大写名字即可。
}
enum Sex {
BOY, GIRL; // 男,女
}