JAVA基础语法(5)- 对象

99 阅读3分钟

主要内容:学习java中的面向对象编程思想

1.java中的类和对象

  • 类:相同事物共同特征的描述
  • 对象:类的具体的实例,因此对象也叫做实例
  • 在Java中必须先定义类,才能得到对象

2.类的定义

  • 格式

image.png

  • 注意事项:

    • 类名首字母建议大写,有意义,满足驼峰,不要用关键字,合法的标志符
    • 一个Java文件中可以定义多个类,但是只能一个类是public修饰的,而且public修饰的类名必须成为Java代码的文件名称,否则报错!
  • 例子

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

    // 动词(行为,成员方法)
    public void start(){
        System.out.println(name + "价格是" + price +"启动成功~~");
    }

    public void run(){
        System.out.println(name +
                "价格是" + price +"性能很好,跑的很快~~");
    }
}

3.对象的创建

  • 格式:类名 对象名 = new 构造器();
  • 使用:
    • 对象名.成员变量
    • 对象名.成员方法

4.构造器

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

  • 分为无参构造器和有参构造器

    • 无参数构造器
      • 初始化一个类的对象,并返回这个对象的地址,里面的数据都是默认值
    • 有参数构造器
      • 初始化一个类的对象,并返回这个对象的地址,并且可以同时为对象赋值
  • 例子:

public class Car {
    String name;
    double price;

    /**
       无参数构造器
     */
    public Car(){
        System.out.println("无参数构造器被调用了~~");
    }

    /**
     有参数构造器
     */
    public Car(String n, double p){
        System.out.println("有参数构造器被调用了~~");
        name = n;
        price = p;
    }
}
  • 注意事项:
    • 任何类写出来自带一个无参数构造器,写不写都有
    • 如果你在这个类中定义了一个有参数构造器了,那么无参数构造器就消失了,此时,如果你还要使用无参数构造器,你必须自己写一个。

5.this关键字

  • 作用:代表了当前对象的地址,可以访问当前对象的成员变量和成员方法。
  • 用法:
// (1)用在有参数构造器中
   public Car(String name, double price){
        // 注意:this在构造器中,代表构造器正在初始化的那个对象。
        System.out.println(this);
        this.name = name;
        this.price = price;
    }
//(2)用在方法中
     public void goWith(String name){
        // 注意:this在方法中,谁调用这个方法this就代表谁!
        System.out.println(this.name + "正在和"
                + name +"比赛");
    }

5.封装(后续单独深入探讨)

  • 面向对象的三大特征:封装、继承、多态。

6.标准JavaBean

  • 作用:创建对象,封装数据的。
  • 要求:
    • 成员变量private私有化。
    • 提供成套的getter和setter方法
    • 必须提供无参数构造器。
  • 例子:
package com.itheima.javabean;

public class User {
    private double height;
    private String name;
    private double salary;
    private String address;
    private String phone;

    public User() {
    }

    public User(double height, String name, double salary, String address, String phone) {
        this.height = height;
        this.name = name;
        this.salary = salary;
        this.address = address;
        this.phone = phone;
    }

    public double getHeight() {
        return height;
    }

    public void setHeight(double height) {
        this.height = height;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getSalary() {
        return salary;
    }

    public void setSalary(double salary) {
        this.salary = salary;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }
}

7.局部变量和成员变量

image.png