java基础 面向对象

目录

面向对象:

    1.设计类,才能获得对象

       2. 获得对象:

3.实例代码

多个对象的内存分配

 构造器

1. 构造器的定义格式

 2.初始化对象的格式

3. 构造器的分类

4.构造器的使用


面向对象:

  • 一种编程思想
  • 把具体事件当做一个个的对象来解决问题
  • 程序代码更容易理解

学习目标:

自己设计对象并使用

    1.设计类,才能获得对象

  • 类图(设计图):对象共同特征的描述
  • 类:
public class 类名{
    1.成员变量(一般是名次,代表属性;例如汽车类型,价格)
    //成员变量的完整定义格式:修饰符 数据类型 变量名称(=初始化值:不写也有默认值);
    2.成员方法(一般是动词,代表行为;例如汽车启动,定价)
    (3.构造器            4.代码块            5.内部类)
}

       2. 获得对象:

  • 类名 对象名=new 类名();

      // Car   c  =new  Car();

  • 调用方法:对象名.方法名;

3.实例代码

//Car类

//Car类
public class Car {
   
       //属性(成员变量)
        String name;
        double price;

        //行为
    public void getPrice() {    
         
            System.out.println("价格为"+price);
        }

    public void start() {
        System.out.println("启动");
            
        }
}

//对Car类的应用

public class APP {

    public static void main(String[] args) {
        Car c=new Car();//对象c
        c.name="XXX";//调用:对象名.方法名;
        c.price=39;
        System.out.println(c.name);
        System.out.println(c.price);
        c.getPrice();
        c.start();

        Car c2=new Car();//对象c2
        c2.price=45;
        c2.getPrice();
        c2.start();
    }
}
运行结果

多个对象的内存分配

  • 栈内存:分配 变量空间,对象的引用地址
  • 堆内存:分配 对象空间,方法的引用地址
  • 方法区:方法的空间

垃圾:

  • 当堆内存中的类对象或数字对象,没有被任何变量引用是
  • java存在自动垃圾回收期,会定期清理

 构造器

  •  用于初始化一个类的对象,并返回对象的地址

1. 构造器的定义格式

修饰符 类名(形参列表){
 ...
}

 2.初始化对象的格式

 类型 变量名称 = new 构造器;

Car c =new Car();

3. 构造器的分类

  •  无参数构造器(默认存在):初试化对象时,成员变量的数据均采用默认值
  • 任何类被定义,默认就带有无参构造器

public Car(){
 .....
}
  •  有参构造器:在初始化对象时,同时可以为对象进行赋值
public Car(String n,String b){
  ...
}

4.构造器的使用

public class Car {
    //无参数构造器
    public Car(){
        System.out.println("无参数构造器被触发");
    }
    //有参数构造器
    public Car(String n,double p){
        System.out.println("无参数构造器被触发");
        name = n;
        price = p ;
    }
}
public class APP {
    public static void main(String[] args) {
        Car c=new Car();
        System.out.println(c.name);
        System.out.println(c.price);//都采用了默认值
        
        Car c2=new Car("宝马",80);
        System.out.println(c2.name);
        System.out.println(c2.price);
    
    }
}

学习视频Java入门基础视频教程,Java零基础自学首选黑马程序员Java入门教程(含Java项目和Java真题)_哔哩哔哩_bilibili

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿崽meitoufa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值