Java基础之类和对象

一、类和对象是什么

类:是共同特征的描述(设计图);对象:是真实存在的具体实例。

类是创建对象的模板;对象是类的分身。

二、如何创建类,以及如何得到对象?

public class 类名{
1、成员变量(代表属性的,一般是名词)
2、成员方法(代表行为的,一般是动词)
3、构造器(构造方法)
4、代码块
5、内部类
}
public class Phone {
    String brand;
    double price;

    public void call(){

    }

    public void playGame(){

    }
}

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

public class test {
    public static void main(String[] args) {
        Phone p = new Phone();
    }

}

三、拿到对象后能做什么?

通过以下方式进行调用

○对象.成员变量;
○对象.成员方法(..)

四、构造器【或称构造方法】

含义

构造器和构造方法实际上是同一个概念。在Java中,构造器(Constructor)也被称为构造方法或构造函数,它们用于在创建对象时初始化对象。

具体来说,构造器的主要特点和作用是进行初始化,为对象的成员变量设置初始值。这些初始化操作在对象创建时只执行一次。

基本格式:

public class Student{
    权限修饰符 类名(参数){
            方法体;

}

}
public class Phone {
    String brand;
    double price;
    //空参构造器
    public Phone(){
        
    }
    //带参构造器
    public Phone(String brand, double price) {
        this.brand = brand;
        this.price = price;
    }
}

特点

  1. 构造方法名要和类名相同,大小写也要一样
  2. 没有返回值类型,没有void
  3. 没有具体的返回值

什么时候执行构造器?

创建对象的时候由虚拟机调用,不能手动调用

每创建一次对象,就会调用一次构造方法

五、权限修饰符

其中public最宽松,什么时候都可以使用。

private最严格,只有本类可以访问。

protected=不写,只有不同包的时候不可以访问,其他时候都可以访问

六、private中set和get方法的应用

对于每一个私有化的成员变量,都要提供get和set方法

set:给成员变量赋值 get:对外提供成员变量的值

idea快捷键:alt+insert可以快速创建

package didi3;

public class Phone {
    String brand;
    double price;
    double size;


    public Phone() {
    }

    public Phone(String brand, double price, double size) {
        this.brand = brand;
        this.price = price;
        this.size = size;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public double getSize() {
        return size;
    }

    public void setSize(double size) {
        this.size = size;
    }
}

调用:

package didi3;

public class test {
    public static void main(String[] args) {
        Phone p = new Phone();
        //设置变量值
        p.setBrand("Apple");
        p.setPrice(7000);
        p.setSize(6);


        //获取变量值

        System.out.println(p.getBrand());
        System.out.println(p.getPrice());
        System.out.println(p.getSize());

    }



}

七、方法的重载和方法的重写

带参构造方法,和无参构造方法,二者方法名相同,但是参数不同,这个为构造方法的重载

方法的重载

在同一个类中,定义了多个同名的方法,这些同名的方法具有同种的功能。
每个方法具有不同的参数类型或参数个数,这些同名的方法,就构成了重载关系
简单记:同一个类中,方法名相同,参数不同的方法。与返回值无关。也就是上面的 int 和 void
参数不同:个数不同、类型不同、顺序不同

方法的重写

子类出现了和父类一摸一样的方法声明

如果发生了重写,子类中的虚方法会覆盖

当父类的方法不能够满足子类的需求时,需要进行方法重写

override重写注解

  1. @Override是放在重写后的方法上,校验子类重写时语法是否正确。
  2. 加上注解后如果有红色波浪线,表示语法错误。
  3. 建议重写方法都加@Override注解

注意事项

  1. 重写方法的名称、形参列表必须与父类中的一致。
  2. 子类重写父类方法时,访问权限子类必须大于等于父类(暂时了解:空着不写<protected<public)
  3. 子类重写父类方法时,返回值类型子类必须小于等于父类
  4. 建议:重写的方法尽量和父类保持一致。
  5. 只有被添 加到虚方法表中的方法才能被重写
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值