1. 面向对象
特征:封装,继承,多态
类与对象的关系
类:是一组相关的属性和行为的集合是一个抽象的概念。
对象:是该类事物的具体表现形式,具体存在的个体。
定义一个类,就是定义该类的成员变量、成员方法以及构造方法。
成员变量和局部变量的区别:
(1)在类中的位置不同:成员变量在类中方法外,局部变量在方法定义或者方法声明上
(2)在内存中的位置不同:成员变量在堆内存,局部变量在栈内存
(3)生命周期不同:成员变量随着对象的创建而存在,随着对象的消失而消失。 局部变量随着方法的调用而存在,随着方法的调用完毕而消失
(4)初始化值不同:成员变量有默认初始值,局部变量没有默认初始值,必须定义,赋值才能使用
注:成员变量和局部变量名称可以一样,在方法中使用的时候,采取的是就近原则
匿名对象:没有名字的对象
public static void main(String[] args){
Student s = new Student();
s.show()
s.show()
//匿名对象
new Student().show();
new Student().show(); //这里其实是重新创建了一个对象
}
匿名对象的应用场景:
(1)调用方法,仅仅只调用一次的时候。好处:匿名对象调用完毕就是垃圾,可以被垃圾回收器回收。
(2)匿名对象可以作为实际参数传递
2. 封装
封装概述:隐藏对象的属性和实现细节,仅对外提供公共访问方式
好处:隐藏实现细节,提供公共的访问方式;提高了代码的复用性;提高安全性
封装原则:将不需要对外提供的内容都隐藏起来;把属性隐藏,提供公共方法对其进行访问
private关键字是一个权限修饰符,被private修饰的成员只能在本类中访问,常常修饰成员变量
this代表当前类的对象引用吗,即代表当前类的一个对象 (谁调用这个方法,在该方法内部的this就代表谁)
class Student{
private String name;
private int age;
public Student(); //构造方法
public void setName(String name){
thi