文章内容:毕向东java视频教学
概述:
1、面向对象是相对面向过程而言
2、面向对象和面向过程都是一种思想
3、面向过程--强调的是功能行为
4、面向对象--将功能封装对象,强调具备了功能的对象
5、面向对象是基于面向过程的
举例:
面向过程:打开冰箱、存储进冰箱、关闭冰箱
面向对象:冰箱.打开、冰箱.存储、冰箱.关闭
类与对象的关系:
类就是对现实生活中事物的描述
对象就是这类事物,实实在在存在个体
匿名对象:
1、匿名对象是对象的简化形式(new Car().num=5;)
2、匿名对象两种使用情况:1.对象的方法仅进行一次调用的时候。2.匿名对象可以作为实际参数进行传递
封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式
好处:1、将变化隔离。2、便于使用。3、提高重用性。4、提高安全性。
封装原则:1、将不需要对外提供的内容都隐藏起来。2、把属性都隐藏,提供公众方法对其访问。
private:私有,权限修饰符-用于修饰类中的成员(成员变量、局部变量)
私有只在本类中有效
将age私有化以后,类以外建立对象也不能直接访问,但是人应该有年龄,就需要在Person类中提供对应访问age的方式。
注意:私有仅仅是封装的一种表现形式
之所以对外提供访问方式,就是因为可以在访问方式中加入逻辑判断等语句,
对访问的数据进行操作,提高代码的健壮性
代码:
class Person
{
private int age;
public void setAge(int age) {
if(a>0 && a<130) {
age = a;
speak();
}
else {
System.out.println("feifa age");
}
}
public int getAge() {
return age;
}
void speak() {
System.out.println("age="+age);
}
}
构造函数:对象一建立就会调用与之对应的构造函数。
构造函数的作用:可以用于给对象进行初始化。
构造函数的小细节:当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数的构造函数。
当在类中自定义构造函数后,默认的构造函数就没有了。
构造函数和一般函数在写法上有不同,在运行上也有不同。
构造函数是在对象一建立就运行,给对象初始化。
一般函数是对象调用才执行,给是对象添加对象具备的功能。
一个对象建立,构造函数只运行一次。
一般方法可以被该对象调用多次。
什么时候定义构造函数呢?
当分析事物时,该事物存在具备一些特性或者行为,那么将这些内容定义在构造函数中。
构造代码块:
作用:给对象进行初始化。对象一建立就运行,而且优先于构造函数执行。
和构造函数的区别:
构造代码块是给所有对象进行统一初始化,而构造函数是给对应的对象初始化。
构造代码块中定义的是不同对象共性的初始化内容。
this:代表它所在函数所属对象的引用,简单说:哪个对象在调用this所在函数,this就代表哪个对象。
this的应用:当定义类中功能时,该函数内部要调用该函数的对象时,这是用this来表示这个对象。
this语句:用于构造函数之间进行互相调用。this语句只能定义在构造函数的第一行,因为初始化要先执行。