面向对象(Object-oriented)

2 篇文章 0 订阅
0 篇文章 0 订阅

类与对象

  • 类:具有相同属性和行为的事物统称

    • 电脑类
      • 属性:品牌、价格、颜色
      • 行为:看电影、玩游戏
  • 对象:某一个类事物中的一个具体实例

  • 联想品牌电脑对象
    - 价格为7777元
    - 可以看电影

类的定义和对象的使用

  • 电脑类
    public class Computer{
    //成员变量–属性
    //属性:品牌、价格、颜色
    String brand;
    int price;
    String color;

//成员方法–行为
public void coding(){
System.out.println(“使用电脑敲代码”);
}

public void study(){
System.out.println(“使用电脑学习”);
}
}

  • 创建电脑对象
    类名 对象名=new 类名();
    public class Demo1{
    public static void main(String[] args){
    //创建Computer类的对象
    Computer com=new Computer();

    //对象名.属性名
    System.out.println(com.brand); //null
    System.out.println(com.color); //null
    System.out.println(com.price); //0

    //给属性赋值
    com.brand=“联想”;
    com.price=8766;
    com.color=“黑色”;

    System.out.println(com.brand); //“联想”
    System.out.println(com.color); //“黑色”
    System.out.println(com.price); //8766

    System.out.println("--------------");
    //对象名.方法名();
    com.coding();
    com.study();
    }
    }

对象内存图
在这里插入图片描述
成员变量和局部变量
1.类中的位置不同
成员变量:类中方法外
局部变量:方法中{}或()

2.作用域不同
成员变量:整个类中都能访问
局部变量:只在所定义的方法中有效

3.初始值不同
成员变量:默认初始值(没有赋值可以使用)
局部变量:没有默认值(没有赋值不能使用)

4.内存位置不同
成员变量:跟随对象在堆内存中
局部变量:在栈内存中

5.生命周期不同
成员变量:随着对象的创建而创建,随着对象被垃圾回收器回收而消失
局部变量:随着方法的调用而创建,随着方法调用结束而消失

封装性
所谓封装就是把不想让别人知道的部分隐藏起来,把想让别人知道部分暴露出去

  • 一般把成员变量用private关键字修饰
    被private修饰的成员变量,只能在本类中访问

  • 提供getXxx和setXxx方法
    getXxx:获取成员变量的值
    setXxx:设置成员变量的值

this关键字
this表示本类对象的引用:哪个对象调用方法,方法内部的this就表示哪个对象
this.成员变量 调用本类的成员变量
this.成员方法() 调用本类中的成员方法[几乎不会出现]

构造方法

  • 构造方法是用来创建对象的
  • 每次创建对象的时候都会执行
  • 如果不写构造方法,编译器自动赠送一个空参构造方法。
  • 建议不管增不赠送构造方法,都自己写一个空参构造方法
  • 多个构造方法是重载关系

一个标准类的写法
public class Phone{
//手机的属性:品牌、 价格 、颜色
//private修饰的变量不能被其他调用
private String brand;
private String color;
private int price;

//构造方法 -空参(仅用来创建对象)
public phone(){
}

//构造方法-有参构造方法(创建对象,同时给成员变量赋值)
public phone(String brand,String color,int price){
this.brand=brand;
this.color=color;
this.price=price;
}

//get和set方法
public String getBrand(){
return brand;
}
private void setBrand(String brand){
this.brand=brand;
}

//自爆属性值
public void show(){
System.out.println(brand+","+price+","+color)
}
}

测试类
public class Demo12{
public static void main(String[] args){
//创建Phone类的对象,同时给属性赋值
Phone p=new Phone(“IphoneXs”,“土豪金”,“9999”)
p.show();
///获取属性值
String brand =p.getBrand();
String color=p.getColor();
int price=p.getPrice()
/
}

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值