一: 面向过程与面向对象
-
面向过程是强调过程(动作),
-
比如把大象装进冰箱的过程
-
首先把冰箱打开,然后把冰箱放进去,关掉冰箱
-
面向对象是强调对象(实体),对象就是该类事物中实实在在存在的个体
-
比如把大象装进冰箱的想法
-
首先把冰箱打开,存储在冰箱,关闭冰箱
1,如何用java语言描述现实生活中的事例
事例有属性和行为的特点,只要明确事物的属性和行为并定义类中即可
2.类与对象的关系
- 类就是事物的描述
- 对象就是该类事物的个体具有属性与行为,在java中可通过new创建
3.什么是对象的属性?什么是对象的行为?
- 比如一辆汽车
- 汽车就是对象
- 汽车的颜色,汽车的轮胎个数,汽车的品牌等都是对象的属性
- 汽车可以用来开车,观赏等是对对象的行为
二:面向对象的特点
- 面向对象的重点就是对象,它是常见的思考方式,符合人们的思考逻辑。
- 将复杂的问题简单化
- 将执行者变为指挥者
三: 面向对象中的定义
- 定义类就是定义成员。成员有成员变量和成员函数
- 成员变量-----是属性
- 成员函数-----是行为
class TestCar {
int num;
String color;
void run(){
System.out.println(num+"....."+color);
}
}
class CarDemo{
public static void main(String [] args){
Car c=new Car();
c.num=4;
c.color="red";
c.run();
Car c1=new Car();
Car c2=new Car();
show(c1);
show(c2);
//System.out.println(num+"....."+color);
}
- 要使用对象中的内容可以通过 对象 . 成员的形式来调用
- 例如上述调用汽车的行为通过 **c.run();**来进行调用
四:面向对象的匿名对象
- Car c=new Car();----------是有名字的对象
- new Car();--------匿名对象,就是没有名字的对象。
- 匿名对象可以作为实际参数进行传递
- 若对象只对方法进行一次调用,则可以用匿名方法
-
若要调用可以用new Car() . run(();形式
-
例如:
class TestCar {
int num;
String color;void run(){ System.out.println(num+"....."+color); }
}
class CarDemo{
public static void main(String [] args){
new Car().num=3;
new Car ().color=“red”;
new Car().run();
}
}
五:成员变量和局部变量区别
- 成员变量定义在类中,整个类都可以访问
- 局部变量定义在函数语句局部代码块中,只在所属区域有效
- 成员变量存在于堆内存的对象中
- 局部变量存在于栈内存的方法中
·成员变量随着对象的创建而存在,对象的消失而消失
··成员变量随着所属区域执行而存在,所属区域消失而释放
4.
·成员变量有默认初始值
··局部变量没有默认初始值
//基本数据类型参数传递
class Test{
public static void main(String [] args){
int x=3;
show(x);
System.out.println("x="+x);
}
public static void show(int x){
x=4;
}
}
/*引用数据类型参数传递
class Demo{
int x=3;
public static void main(String [] args){
Demo d=new Demo();
d.x =9;
show(d);
System.out.println(d.x);
}
public static void show(Demo d){
d.x=4
}
}
*/
六:面向对象的特征------封装
-
封装就是隐藏对象上属性和实现细节,仅对外提供公共访问方式
-
封装的好处
-提高数据的安全性
-便于使用
-提高重用性 -
private --私有的,是一个权限修饰符,用于修饰成员。私有的内容只在本类中有效
-
private私有的,仅是封装的一种体现。将成员变量私有化,对外提供Set,Get方法
class person{
private /*siyouzhi*/int age;
public void setAge(int a){
if(a>0 && a<120){
age=a;
}
else {
System.out.println("error");
}
}
void speak(){
System.out.println("age="+age);
}
}
class personDemo{
public static void main(String [] args){
person p=new person();
//p.age=20;
p.setAge(20);
p.setAge(-20);
p.speak();
}
}