面向对象思想
- 面向过程
- 面向对象
- 找到对象(第一步 第二步)
- 封装到对象中 由对象来实现第一步 第二步
- 举例
- 面向对象思想特点
- 1 是一种更符合我们思想习惯的思想
- 2 可以将复杂的事情简单化
- 3 将我们从执行都变成了指挥者
- 4 就是将过程封装下 直接面向对象
- 面向对象的开发
- 面向对象的设计
- 面向对象的特征
类与对象概述
- java中最基本的单位是类 java中用class描述事物也是如此
-
-
-
-
- 成员变量:和以前定义的局部变量(方法中)是不一样的 在类中 方法外
-
- 类和对象的概念
- 类 是一组相关属性和行为的集合
- 对象 是类事物的具体体现 也可以说是类的实例
- 举例
学生类的定义
成员变量和局部变量的区别
- A在类中的位置不同
- 成员变量:在类的方法外
- 局部变量:在方法的声明上或者方法定义中
- B在内存中的位置不同
- 成员变量:在堆内存中(成员变量属于对象 对象进堆内存)
- 局部变量:在栈内存中(局部变量属于方法 方法进栈内存)
- C生命周期不同
- 成员变量:随着对象的创建而存在 随着对象的消失而消失
- 局部变量:随着方法的调用而存在 随着方法的调用完毕而消失
- D初始化值不同
- 成员变量:成员变量有初始化的值
- 局部变量:没有默认的初始化 必须定义 赋值 才能使用
- 注意事项:
- 局部变量名称可以和成员变量的名称一样 在方法中使用的时候 就近原则
- 基本数据类型: 整数类型,byte short int long 浮点类型,float double 字符类型,char 布尔类型:boolean
- 引用数据类型:数组 类 接口 枚举
匿名对象
- 匿名格式
- 匿名对象调用方法格式
- 匿名对象 适用于一次创建一次使用,多次使用不适合
- 匿名对象 可以作为方法的参数
封装的概述
- A封装概述
- 隐藏对象的属性和实现的细节 仅对外提供公共访问方式
- B封装好处
- 隐藏实现细节 提供公共的访问方式
- 提高代码的复用性
- 提高安全性
- C封装原则
- 将不需对外提供的内容都隐藏起来
- 把属性隐藏 提供公共方法对其访问
private关键字概述和特别、
- 1 private关键字特点
- 是一个权限修饰符
- 可以修改成员变量 和 成员方法
- 被修改的成员 只能在本类中被访问
- 2安全演示
this关键字
- 1,this关键字特点
- 2,案例演示
- this的应用场景
- 用来区分 成员变量 和 局部变量重名
- public void setAge(int age){ this.age = age;}
手机类代码及其测试
class Test{
public static void main(String[] args){
Phone p1 = new Phone();
p1.setBrand("小米");
p1.setPrice(5555);
System.out.println(p1.getBrand()+" " +p1.getPrice());
p1.call();
p1.sendMessage();
p1.playGame();
}
}
/*
手机类
属性:品牌brand 价格price
行为:打电话call 发短信sendMessage 玩游戏playGame()
*/
class Phone{
//属性私有 提供set和get方法
private String brand;
private int price;
//设置品牌 参数 String
public void setBrand(String brand){
this.brand = brand;
}
//获取品牌 返回类型 String
public String getBrand(){
return this.brand;//this.可以省略
}
//设置价格 参数 int price
public void setPrice(int price){
this.price = price;
}
//获取价格
public int getPrice(){
return price;
}
//成员方法 打电话 call
public void call(){
System.out.println("打电话");
}
//发短信
public void sendMessage(){
System.out.println("发短信");
}
//玩游戏
public void playGame(){
System.out.println("玩游戏 ");
}
}