------- android培训、java培训、期待与您交流! ----------
1:面向对象
(1) 面向对象是相对于面向过程而言的,是基于面向过程的。
面向过程:强调的功能。
面向对象:强调的是对象,我们用对象完成功能。强调的是结果。
面向过程和面向对象都是一种编程思想。
(2)面向对象思想(重点)
A:是符合人们思考习惯的一种思想。
B:将复杂的事情简单化了。
C:将程序员从执行者变成了指挥者。
(3)面向对象的三大特征
A:封装
B:继承
C:多态
注意:以后在完成一个需求时,先去找对象,看有没有对象提供这样的功能。
如果有就直接使用。如果没有,我们就自定义对象,里面封装很多功能使用。
2:类和对象的关系(重点)
(1)类:对现实世界中事物的描述。
对象:事物具体存在的个体。
(2)现实世界中,我们对事物的描述一般是通过属性和行为来做的。
现在呢,我们需要把这个事物用java语言描述出来。
java语言中类的成员有:成员变量和成员方法。
他们的对应关系是:
属性 -- 成员变量
行为 -- 成员方法
(3)自定义类。
用class定义一个类。
它里面包含成员变量和成员方法。
练习:自定义人类,学生类,手机类。
(4)使用自定义类中的成员。
class Car
{
int price;
public void show()
{
sop(price);
}
}
创建对象:
Car c = new Car();
//使用属性
sop(c.price);
c.price = 1000;
sop(c.price);
//使用方法
c.show();
使用对象中的功能的格式:
对象名.成员变量名
对象名.成员方法名()
(5)简单的对象内存图。
3:成员变量和局部变量的区别(重点)
(1)作用域
成员变量:针对整个类都有效。
局部变量:在某个范围内有效。(一般指的就是方法,语句体内)
(2)存储位置
成员变量:随着对象的创建而存在,存储在堆内存中。随着对象的消失而消失。
局部变量:在方法被调用,或者语句被执行的时候存在,存储在栈内存中。
当方法调用完,或者语句结束后,就自动释放。
(3)初始值
成员变量:都有默认初始值。
局部变量:没有默认初始值,使用前,必须赋值。
4:匿名对象(次重点)
(1)匿名对象,就是没有名字的对象。是对象的一种简写形式。
(2)应用场景
A:只一次调用类中的方法。
Person p = new Person();
p.show();
//匿名使用如下
new Person().show();
B:可以作为实际参数在方法传递中使用
Person p = new Person();
method(p);
//匿名使用如下
method(new Person());
public static void method(Person p)
{
p.show();
}
5:封装(重点)
(1)隐藏实现细节,对外提供公共的访问方式。
(2)举例:机箱
(3)好处:
A:将变化隔离
B:便于使用
C:提高复用性
D:提高安全性
(4)封装在代码中的体现。
A :private
**是一个权限修饰符。
**用于修饰成员(成员变量和成员方法)
**被private修饰的成员只在本类中有效。
B:一般代码体现
把类中的成员变量用private修饰。然后提供公共的getXxx/setXxx方法。
class Person
{
private String name;
private int age;
public void setName(String n)
{
name = n;
}
public String getName()
{
return name;
}
public void setAge(int a)
{
age = a;
}
public int getAge()
{
return age;
}
}
C:私有只是封装的一种体现。
6:构造方法
(1)构造方法是用于创建对象,并进行初始化值的。
(2)构造方法的特点:
A:和类名相同
B:没有返回类型
C:没有返回值
(3)构造方法的注意事项:
A:如果一个自定义类没有构造方法,系统会默认给出一个无参构造方法。
B:如果一个自定义类提供了构造方法,那么,系统将不再给出无参构造方法。
这个时候,你可以不使用无参构造方法。
如果你想使用,那么,就手动给出无参构造方法。
建议:一般情况下,我们的自定义类都要手动给出无参构造方法。
(4)构造方法和成员方法的区别
A:格式区别
构造方法和类名相同,并且没有返回类型,也没有返回值。
普通成员方法可以任意起名,必须有返回类型,可以没有返回值。
B:作用区别
构造方法用于创建对象,并进行初始化值。
普通成员方法是用于完成某个功能的。
C:调用区别
构造方法是在创建对象时,用new调用的。
普通成员方法是由创建的对象调用的。
(5)给成员变量赋值
A:通过setXxx方法
B:通过构造方法
7:this关键字
(1)this关键字代表本类对象的一个引用。
谁调用某个方法,那么,在这个方法内部,this就代表谁。
(2)this的使用场景
A:局部变量隐藏成员变量
B:在构造方法中,调用其他的构造方法。
**这个时候,this(参数)必须作为第一条语句存在。