1.核心思想
- 类及类的成员:属性、方法、构造器;代码块、内部类
- 三大特征:封装性(encapsulation) 继承性(inheritance) 多态性(polymorphism) 抽象性(abstract)
- 关键词:static this super final interface package import sychronized等等
1.1思想特点
- 是一种更符合我们习惯思想的思想可以将复杂的事情简单化
把我们从执行者变成了指挥者(角色发生了转换)
- 开发:就是不断地创建对象,使用对象,指挥对象做事情
- 设计:其实就是在管理和维护对象之间的关系
1.2万事万物皆对象
- Java语言范畴中,把功能,结构等等封装到类里面,再通过类的实例化,来调用具体的功能或者结构。
- 涉及到Java和前端html,和后端数据库交互时,前后端的结构再Java层面交互时,都体现为类或对象。
2.类与对象
- 首先通过写一个类,然后在类里面不断地去增加属性和方法,并不断的去完善它。
- 然后需要用这个类的时候只需去创建它的对象,然后调用里面写好的方法和属性即可。
- 属性=成员变量=field=域
- 方法=成员方法=函数=method
- 创建类的对象=类的实例化
2.1代码使用体现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| class student{ int age; public void study(){ System.out.println("study happy"); } }
public static void main(String[] args){ student stu = new student(); stu.age=17; stu.study(); }
|
2.2.匿名对象
- 调用方法仅仅是调用一次的时候
- 好处:节省代码
- 调用多次不适合.匿名对象调用完毕就是垃圾.可以被垃圾回收器回收。
- 匿名对象可以作为实际参数传递。
- 匿名对象可以调用属性,但是没有意义,应为调用后就变成垃圾
- 如果有需要还是用有名对象
- 方法,循环,判断语句同样使用在面向对象中
3.变量对比
3.1局部|成员
- 在类中声明的位置不同
- 成:声明在在类中{}内
- 局:声明在方法内、方法形参、代码块、构造器形参、构造器内部的变量
- 权限修饰不同(public,protected,private,缺省(即默认))
- 初始化不同
- 成:有默认初始化值
- 局:没有默认初始化值,必须定义 赋值 然后才能使用
- 在内存中的位置不同
- 成:在堆内存(成员变量属于对象,对象进堆内存)
- 局:在栈内存(局部变量属于方法,方法进栈内存)
- 生命周期不同
- 成:随着对象的创建而存在,对象的消失而消失
- 局:随着方法的调用而存在,方法的调用完毕而消失
3.2静态|成员
- 所属不同
- 静:属于类,所以也称类变量
- 成:属于对象,所以也称(实例/对象变量)
- 内存中位置不同
- 内存出现时间不同
- 静:随着类的加载而加载,随着类的消失而消失
- 成:随着对象的创立而存在,随着对象的消失而消失
- 调用不同
- 静:可以通过类名调用,也可以通过对象调用
- 成:只能通过对象名调用
4.static关键词
每个中国人的国籍都是中国,那么中国这个属性就可以定义为静态的
1 2 3 4 5 6 7 8 9 10 11
| 可以用来修饰属性 方法 内部类 代码块
静态变量优先于对象的创建
静态是随着类的加载而加载,可以使用类名调用(class.param)
类只加载一次,所以静态变量只存在一份(在方法去的静态域中)
静态方法中没有this和super,因为他们是随着对象的创建而存在
静态方法和属性的使用,可以从生命周期的角度去逻辑
|
4.1使用场景
1 2 3 4 5 6 7 8
| 静态属性: 一个属性需要被多个对象共享时 这样就不会随着对象的不同而不同 类中的常量也常常是static的
静态方法: 操控静态属性的方法, 工具类中的方法
|
4.2修饰属性与方法
4.2.1修饰属性
1 2 3 4 5 6 7
| 修饰的变量叫静态变量
实例变量:创建类的多个对象,每个对象都有一套自己的非静态属性,和其他对象属性不冲突
静态变量:创建类的多个对象,共享一个静态变量,某个对象如果把它修改了,别的对象调也是修改过的 static int num; static String name;
|
4.2.2修饰方法
1 2 3 4 5 6
| 随着类的加载而加载,可以通过类名.方法名调用
静态方法中:只能调用静态的方法或属性
非静态方法中:成员变量/成员方法:可以是静态的/非静态的 public static void method()
|
5.final关键词
1 2 3 4 5 6 7 8 9
| 修饰类 :类不能被继承
修饰变量 :变量就变成了常量 只能被赋值一次
修饰局部变量:例:形参,表示此形参是一个常量
修饰方法:法不能被重写)
修饰属性初始化位置:显式初始化、代码块中初始化、构造器中初始化
|
5.1常量概述
1 2 3 4 5 6 7 8 9 10 11
| 常量是标记为final关键字的类变量
常量必须赋值,赋值后不能改变。
常量名称都需要大写。
如果常量又加上了static修饰就是全局常量
类变量的特性常量均有
类变量被存储在常量存储器中。
|