1:对象
万物皆对象,客观存在的事物都是对象
2:成员变量与局部变量
成员变量 :在类中定义,用来描述对象将要有什么,在类的方法中定义,在方法中临时保存据。
局部变量:是在方法中或者方法上定义的变量局部变量指的是在方法中或者方法上定义的变量
二者的区别:
*a)作用域不同
* -局部变量的作用域仅限于定义它的方法
* -成员变量没有默认的初始值,必须自行设定初始值
* b)初始值不同
* -成员变量有默认的初始值
* - 局部变量没有默认初始值,必须自行设定初始值
* c)同名变量不同
* - 在同一个方法中,不允许有同盟的局部变量
* - 在同一个方法中,可以有同名的局部变量
* d)存储位置不同
* - 成员变量在对象创建以后存在与堆中,对象回收时,成员变量消失
* - 局部变量是在方法被调用时存在于栈中,方法执行结束,从栈中消除
* e)生命周期不同
* - 成员变量是在对象创建以后存在堆中,对象回收时,成员变量消失
* - 随着方法的调用被创建,方法的调用被创建,方法执行结束,从栈中消除
public class Person03 {
public int x;
public static int y;
public void fun() {
System.out.println("非静态成员变量x的值 >>> " + ++x);
System.out.println("静态成员变量y的值 >>> " + ++y);
}
}
public class Person03Test {
@Test
public void test01() {
Person03 person01 = new Person03();
Person03 person02 = new Person03();
// 非静态成员变量x的值 >>> 1
// 静态成员变量y的值为 >>> 1
person01.fun();
// 非静态成员变量x的值 >>> 1
// 静态成员变量y的值为 >>> 2
person02.fun();
// 非静态成员变量x的值 >>> 2
// 静态成员变量y的值为 >>> 3
person01.fun();
// 非静态成员变量x的值 >>> 2
// 静态成员变量y的值为 >>> 4
person02.fun();
}
}
3:封装
Eclipse引入Lombok
在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。
封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。
要访问该类的代码和数据,必须通过严格的接口控制。
封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。
适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。
封装的优点
(1)良好的封装能够减少耦合。
(2)类内部的结构可以自由修改。
(3)可以对成员变量进行更精确的控制。
(4)隐藏信息,实现细节。
4:抽象方法
* 使用abstract修饰没有方法体的方法 我们称之为抽象方法
* 具备抽象方法的类必须是抽象类
* 使用abstract修饰的类 我们称之为抽象类
* 抽象类不一定必须有抽象方法
* 子类继承抽象类 第一种方法是重写抽象类中的抽象方法
* 子类继承抽象类 第二种方法是子类也是一个抽象类
* 使用final修饰的类不能被继承