一、前言
希望自己能够坚持~~~
二、封装
- 封装的概念
封装就是将属性和方法私有化。 - 封装的作用
封装的目的在于保护数据,区分设计者和使用者。 - 封装的实现
封装通过private关键字来实现,被封装的属性和方法只能在该类中被访问。
外部若想访问类中的属性和方法必须通过外部接口。例如:在其他公有方法中调用私有属性和方法、通过get和set方法来获取和设置私有属性
Author.java
public class Author{
private String name;
private int age;
public String getName(){
return name;
}
}
Test.java
public class Test{
public static void main(String[] args){
Author author=new Author();
System.out.println(author.name);//会报错,因为变量是私有的无法访问
System.out.println(author.getName());//不会报错,得到的值为null
}
}
三、设计模式—桥模式
目的是将抽象化与实现化脱耦,使得二者可以独立地变化。
四、static
- 简介
static,静态的意思。可以修饰类中属性,称之为类变量、静态变量。修饰类中的方法,称之为类方法、静态方法。 特点
当加载一个类时,首先加载的是类中所有的静态变量和静态方法。
静态变量和静态方法只能在静态方法中调用。
静态变量做好不要经常使用,它不会被自动回收。java有垃圾回收机制(当对象不可达时,也就是超出作用域的范围,自动回收垃圾)3.运行机制
Author.java
public class Author{
static String NAME;
static {
System.out.println("执行静态代码1");
System.out.println(Author.NAME);//静态变量和静态方法可以直接使用类名调用
}
static {
System.out.println("执行静态代码2");
}
public Author(){
System.out.println("执行构造函数");
}
public static String getName(){
return NAME;//静态变量不可以用this指向
}
}
Test.java
public class Test{
Author author=new Author();
System.out.println(author.getName());
}
执行的结果
PS: 当调用构造函数的时候JVM做了什么事情
a、加载类
b、初始化类中所有static修饰的属性和方法按书写顺序执行
c、初始化所有的属性和代码块、按书写顺序执行
d、调用构造函数
五、final
可以修饰属性、方法和类
修饰属性必须有初始值,值不可改变,相当于常量
修饰的方法不能被重写
修饰的类不能被继承