基本概念及规则:
面向对象:用代码去高度模拟现实世界,以便为人类的业务服务。
Java语言是一种面向对象的高级编程语言(代码风格很像人类的语言)。
面向对象最重要的两个概念:类和对象。
类:描述相同事物的共同特征的抽象。对象:是具体的实例,是真实的。(实例=对象)
在代码层面:必须先有类,再有对象。
定义类的格式:
修饰符 class 类名{
}
一个Java文件中可以有多个类,但只能有一个类被public修饰,且该类名必须为该Java文件名。
类的五大成分:
成员变量、成员方法、构造器(用于初始化一个类的对象并返回对象的引用(即地址))、代码块、内部类。
构造器初始化对象的格式:类名 对象名 = new 构造器;
一个类有一个默认的无参构造器,但如果手动添加了构造器,则默认的无参构造器会被覆盖。
this关键字:
this关键字代表当前对象的引用,可用于实例方法和构造器中。
用于实例方法中:this代表调用这个方法的对象的引用。用于构造器中:this代表正在初始化的对象的引用。
封装:
可实现代码的组件化。建议成员变量都私有,用private修饰的成员变量、成员方法、构造器都只能在本类中直接访问。
封装的核心思想:合理隐藏,合理暴露。
static关键字:
static = 静态 = 被修饰的成员变量、方法都是属于类的。
成员变量:
(1)静态成员变量(类变量):被static修饰的变量,属于类本身的,可直接用类名访问。
(2)实例成员变量:无static修饰的变量,属于类的每个实例对象的,不能用类名访问,只能由类的对象访问。
成员方法:
(1)静态方法:被static修饰的方法,属于类本身,可直接用类名调用。
(2)实例方法:无static修饰的方法,属于类的每个实例对象,只能由类的对象调用。
有static修饰的和类一起被加载一次;无static修饰的和类的对象一起加载,类的对象有多少个,成员变量就加载多少份。类的对象也可以访问静态成员(静态成员只加载一次,只有一份所以可被类和类的对象共享),但是不推荐这样访问,此机制只是为了理论的完整性。
super关键字:
super代表父类对象的引用,super.父类成员变量,super.父类成员方法
this(...)根据参数匹配来访问本类其它构造器,super(...)根据参数匹配访问父类构造器。