面向对象编程(oop)、类、对象在内存中的运行机制、面向对象实例(购物车案例)、构造器、this关键字、封装、标准JavaBean、成员变量和局部变量的区分、面向对象综合案例

本文详细介绍了Java中的面向对象编程,包括类的设计、对象的内存运行机制、构造器的使用、this关键字的理解以及封装的概念。通过购物车案例展示了面向对象的实际应用,并探讨了成员变量和局部变量的区别。此外,还讨论了JavaBean的标准规范。
摘要由CSDN通过智能技术生成

面向对象编程(oop)
一、类(类是设计图,对象是具体实例,所以先设计类,再通过类设计对象并使用)
示例:
public class Car {//定义一个Car类
    String name;//设置属性(成员变量)
    double price;
    public  void Start(){//定义方法(成员方法)
        System.out.println(name+"启动了!");
    }
    public void run(){
        System.out.println(price+"跑起来了");
    }
}
public class text {
    public static void main(String[] args) {
        Car c = new Car();//创建对象
        c.name = "BMW";//访问属性及方法
        c.price = 30.57;
        c.Start();//调用方法
        c.run();
    }
}
定义类的注意事项:
1、类名必须,首字母大写,满足驼峰模式,合法标识符不能是关键字,且有意义。
2、一个class文件可以定义多个类,但只能有一个类被public修饰,且该类名必须与class文件名相同。(实际开发中一个代码文件只定义一个类)
3、成员变量的完整定义格式是:修饰符 数据类型 变量名称 = 初始化值;(一般无需初始化,存在默认值)
默认值规则:
byte、int、short、long    默认值0
double float             默认值0.0
boolean            默认值false
String等引用类型        默认值null
二、对象在内存中的运行机制:
1、多个对象
代码:
public class Car {
    String name;//设置属性(成员变量)
    double price;
    public  void Start(){//定义方法
        System.out.println(name+"启动了!");
    }
    public void run(){
        System.out.println(price+"跑起来了");
    }
}
public class text {//①
    public static void main(String[] args) {//②
        Car③ c ④= new Car();⑤//创建对象
        c.name = "BMW";//设置属性
        c.price = 30.57;⑥
        c.Start();//调用方法
        c.run();⑦
    }
}

①、先在方法区加载类,②、再将类中的main方法提到栈内存中。③、再将car类加载到方法区包括其成员变量和成员方法,④、引用变量c会加载到栈内存中,⑤、new出来的对象放在堆内存(并存在其地址),并在堆内存中开辟一些空间来放置属性信息和对象方法的引用地址(通过地址指向方法区中的成员方法),接下来将堆内存中对象的地址赋值给引用变量c。通过栈内存中c的地址,在堆内存中找到对象,再将其name属性改为BMW,price属性改为30.57,⑦、接下来继续通过栈内存中c的地址,在堆内存中找到对象,再通过其存储的成员方法的引用地址找到方法区中car类的Start方法,再将其提取到栈内存中执行,执行方法时也是通过c的地址调用堆内存中对象c的属性信息。若存在多个对象,其流程从④开始继续沿用。
2、两个变量指向同一个对象
public class Students {
    String name;//设置属性(成员变量)
    char sex;
    String hobby;
    public  void

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值