一.面向对象的引入
1.面向过程 --> 按照顺序一步接着一步的往下执行,强调的是执行的过程.
2.面向对象 --> 强调的是对象.让对象完成某一件事 面向对象的开发就是:不断的创建对象让对象去做事情
面向对象的特征:封装(encapsulation),
继承(inheritance),
多态(polymorphism)
3.从自然事物的引入对比面向对象的成员:
自然事物: ①属性 : 一个自然事物的描述信息
②行为 : 该自然事物的自然行为
类: ①成员变量 : 描述事物的属性 --- 属性
②成员方法 : 描述事物的行为 --- 方法
4. 声明成员变量与成员方法
成员变量: 和以前的声明一样,位置在类中,方法外;
局部变量:在类中方法内,位置在类中方法内,或者方法的声明上.
成员方法:和以前的定义一样,只不过去掉了static关键字
5.成员变量和局部变量的区别
①位置不同:
成员变量:在类中方法外
局部变量:在类中方法内,或者方法声明上
②生命周期不同
成员变量:随着对象的创建而创建,随着对象的消失而消失,
局部变量:随着方法的调用而存在,随着弹栈而消失
③内存位置不同
成员变量:因为属于对象,所以在堆内存中
局部变量:因为在方法中,所以在栈内存中
④初始化值不同
成员变量:有默认的初始化值
局部变量:没有默认的初始化值,在使用之前要进行初始化
6.匿名对象类 : 就是没有名字的对象 ,没有引用去记录他的地址值
什么使用去使用匿名对象 : 如果调用一次类中的方法的话,使用匿名对象类会比较好,因为可以及时回收内存,而要多次调用方法的话,那么就不太适用了.
匿名对象还可以作为参数传递,比较方便
创建对象的格式: 类名 对象名 = new 类名();
创建匿名对象类的格式: new 类名();
7.封装 : 指隐藏对象的属性和实现细节,仅仅提供公共的方法去访问
好处:①提高安全性; ②提高代码的复用性; ③隐藏实现细节,提供公共的方法
8.this关键字的使用
记住一句话:谁调用了方法,那么this就代表了哪一个对象的地址引用
9.private关键字 : 只运行本类中的方法进行访问
最后完成一个手机类
[Java] 纯文本查看 复制代码 class Test_Phone {
public static void main(String[] args) {
Phone p = new Phone();
p.setBrand("华为");
p.setPrice(1999);
p.show();
p.call();
p.sendMessage();
}
}
class Phone {
private String brand; //定义私有的品牌成员变量
private int price; //定义私有的价格成员变量
public void setBrand(String brand){ //设置品牌
this.brand = brand;
}
public String getBrand(){ //获取品牌
return brand;
}
public void setPrice(int price){ //设置价格
this.price = price;
}
public int getPrice(){ //获取价格
return price;
}
public void show(){ //展示品牌与价格
System.out.println(brand+"..."+price);
}
public void call(){ //手机打电话的功能
System.out.println(brand+"打电话");
}
public void sendMessage(){ //手机发短信的功能
System.out.println(brand+"发短信");
}
}
|