2018.06.08 1.private关键字 权限修饰符 修饰类,方法,属性,构造函数 最常用的形式: 把成员变量用private修饰 提供相应的get/set方法
2.this 代表当前类的对象的引用 当局部变量隐藏成员变量
3.构造方法 没有返回值; 方法名和类名一样; 用来进行初始化对象; 允许重载; 每个类中都有一个默认空参构造方法; 当我们写了一个有参构造方法后,空参构造方法就没有了。 建议每个类中的都要有空参构造(反射)。
4.给对象赋值 第一种,用set赋值 第二种,构造函数 第三种,类.属性=
5.javaBean pojo 用来封装数据的,作为存储数据的载体
6.static 修饰成员变量和 成员方法 随着类的加载而加载 先于对象调用 被类的所有对象共享
成员变量的访问只能通过对象,因为有类的时候不一定有对象。 静态成员变量的访问可以通过类和对象访问。
静态变量随着类的加载而加载,对象的创建依赖类, 对象晚于类。 注意: 在静态方法中没有this关键字, 静态方法只能访问静态变量
7.静态代码块 随着类的加载而加载,只加载一次。 有一些配置文件,需要在类创建之前提前加载。 构造代码块:每次构造对象的时候都需要进行初始化,用于初始化所有构造方法都必须初始化的数据 构造函数 : 静态代码块>构造代码块>构造函数 局部代码块:执行完之后即清理
public class Demo {
/**
* 首先执行,且只执行一次
*/
static {
System.out.println("静态代码块");
}
/**
* 最后执行,每次构造对象的时候运行
*/
public Demo(){
System.out.println("构造函数");
}
/**
* 第二个执行,每次创建对象是都会执行
*/
{
System.out.println("构造代码块");
}
}
test
public static void main(String[] args) {
new Demo();
new Demo();
}
输出: 静态代码块 构造代码块 构造函数 构造代码块 构造函数
8.继承:是多态的前提 只支持单继承,但支持多层继承 左变量,右方法 通过子类对象去访问一个方法
首先在子类中找
然后在父类中找
如果还是没有就报错。
在子类方法中访问一个变量
首先在子类局部范围找
然后在子类成员范围找
最后在父类成员范围找
如果还是没有就报错。
子类只能继承父类所有非私有的成员
子类不能继承父类的构造方法,但是可以通过super(后面讲)关键字去访问父类构造方法。 子类中所有的构造方法默认都会访问父类中空参数的构造方法 (第一行是super()); 子类创建对象的时候,必定会访问父类的构造函数。
9.super 代表父类的引用 this 代表本类对应的引用 访问成员变量,构造方法,成员方法
10.fianl final关键字是最终的意思,可以修饰类,成员变量,成员方法 修饰类,类不能被继承
修饰变量,变量就变成了常量,只能被赋值一次
修饰方法,方法不能被重写
修饰的变量必须先初始化,才能被用。
赋值的方法: 1.修饰成员变量: 创建时赋值;构造方法中赋值;构造代码块赋值; 2.修饰静态变量:创建时赋值;静态代码块中赋值。
11.单例模式 只能创建一个对象 * 将构造函数私有化,外部不能new * 内部new 一个对象, * 通过static 方法返回该实例对象 * 饿汉式单例
private User(){
}
static User u = new User();
public static User getUser() {
return u;
}
User u1 = User.getUser();
User u2 = User.getUser();