一.对象和类的概念
对象:真实存在的唯一事物
类:同一事物的公共属性与行为的抽取
面向对象的核心思想:找适合的对象做适合的事情
找对象的方式:
1.自定义类,然后创建对象
2.使用sun给我们提供的类创建对象
3.在java的世界中,是先有类后有对象的如何自定义类创建对象?
1.自定义类
格式:
class 类名 {}
2.通过自定义创建对象
格式:
类名 变量名 = new 类名();如何访问对象的属性或者调用对象的方法?
1.访问对象的属性:
格式:
对象名.属性名
2. 调用对象的方法:
格式:
对象名.方法名();
二、成员变量和局部变量的区别
定义的位置上区别:
成员变量定义在方法之外,类之内的。
局部变量是定义在方法内部作用上的区别:
成员变量用于描述一类事物的公共属性
局部变量只是提供一个变量给方法内部使用而已生命周期的区别:
成员变量是随着对象的创建而存在“堆”内存中的,随对象的消失而消失。
局部变量是执行了对应的方法创建局部变量语句的时候在“栈”内存中存在的,局部变量一旦出了自己的作用域,那么就会马上从内存中消失。初始值的区别:
成员变量都有默认的初始值,因此可以不用赋初值就可以使用了;局部变量是没有默认初始值的,必须要经过赋初值才能使用
成员变量默认初始值如下:
byte、short、int : 0;
long:0L
float:0.0f
double:0.0
char:''
String:null
三、匿名对象
什么是匿名对象
就是没有引用类型变量指向的对象就是匿名对象匿名对象的格式
new 类名();匿名对象要注意的事项:
1.一般不能给匿名对象赋予属性值,因为永远都无法获取到
2.两个匿名对象永远都不可以能是同一个对象,因为只要遇到new关键字创建的对象,它都是一个新的对象
3.匿名对象的出现只是为了简化书写匿名对象有什么用?
1.如果只调用该对象的方法只是一次而已就不再使用了,那么就可以使用匿名对象简化书写。
2.作为实参传递,调用另一个方法
四、类的封装
- 为什么要封装
为了解决数据在访问的时候出现安全隐患 - 两个常用的权限修饰符
1.public:公用的,使用public修饰的成员属性任何人都可以直接访问
2.private:私有的,使用private修饰的成员属性,该成员属性只能在本类中访问,一旦出了本类,就不能被直接访问了;如果还想要继续访问,就只能提供对外访问的方法。通常会通过set和get方法来实现。 - 封装的步骤
1.使用private修饰需要被封装起来的属性
2.提供公共的方法设置或者获取封装起来的成员属性
3.公共的方法的命名规范:
public void setXxx(参数列表){ }
public 返回值类型 getXxx( ){ } - 对于封装起来的属性,一定要对外提供get和set方法吗?
封装不一定要提供get或者set方法,这是要看需求而定的。命名也不是一定要使用set和get,这只是一种习惯而已。自要符合标识符的命名规范即可。 - 封装的好处
1.解决了数据的安全问题
2.操作简单
3.隐藏实现