Point06(java--对象、类与方法)

176 阅读3分钟
概念解释

类(calss):

  1. 类是一种用户自定义的数据类型,它封装了数据和操作这些数据的方法。
  2. 类定义了一组属性(变量)和方法(函数),这些属性和方法描述了类的行为和状态。
  3. 类可以看作是创建对象的模板或蓝图

方法:

  1. 在 Java 中,方法是一段执行特定任务的代码块。方法可以接受参数并返回结果。方法是类的重要组成部分,用于实现类的行为。

对象(Object):

  1. 对象是类的实例。通过类可以创建多个对象,每个对象都有自己的属性值。
  2. 对象具有状态、行为和标识。

状态:由对象的属性值决定。

行为:由对象的方法实现。

标识:每个对象在内存中都有唯一的标识,即使两个对象的状态相同,它们也是不同的对象。

前置学习:访问修饰符

Java 中的访问修饰符用于控制类、属性、方法和构造方法的访问级别。Java 提供了四种访问修饰符,分别是 public、protected、private 和默认(不写修饰符)。这些修饰符决定了类的成员在不同范围内的可见性和可访问性。

  1. public :公共的

可见性:全局可见

适用范围:类、属性、方法和构造方法

说明:被public修饰的成员可以在任何地方使用。不受包的限制

  1. protected:受保护的

可见性:在同一包内可见,子类可见

适用范围:属性、方法和构造方法

说明:被protected修饰的成员可以在同一个包内访问,也可以在不同包的子类中访问

  1. private:私有的

可见性:仅在同一类中可见

适用范围:属性、方法和构造方法

说明:被private修饰的成员只能在定义它的类内部访问,不能在类的外部访问

  1. 默认(不写修饰符):

可见性:在同一包内可见

适用范围:类、属性、方法和构造方法

说明:被protected修饰的成员可以在同一个包内访问,也可以在不同包的子类中访问

类、方法、对象的使用

类的声明及基本结构:

[访问修饰符] class 类名 {
    // 属性(成员变量)
    [访问修饰符] 数据类型 属性名;

    // 构造方法
    [访问修饰符] 类名([参数列表]) {
        // 构造方法体
    }

    // 方法(成员方法)
    [访问修饰符] 返回类型 方法名([参数列表]) {
        // 方法体
    }
}

类的构造函数(构造方法)是用于创建对象并初始化对象状态的特殊方法。以下是关于构造函数的一些关键点:

  1. 构造函数的函数名称必须与类名相同;
public class Peopel { //类名为People
    ……
     public Peopel(){ //构造函数名必须为People
         ……
    }
}

  1. 构造函数没有返回值,也不能用viod修饰;
  2. 构造函数可以有参,用于初始化对象的不同状态;
public class Peopel {
    public String name;
    public int age;
    public Peopel(String name, int age){ //无返回值,不能使用viod
        this.name = name;
        this.age = age;
    }
}

  1. 每个类都有一个构造函数,你也可以不定义构造函数,编译器会提供一个默认的无参构造函数;
  2. 构造函数可以重载,即一个类可以有多个构造函数,只要他们的参数列表不同;

实例:创建一个类;包含:属性:姓名、年龄;构造方法;方法:打印自己的名字;答应自己的年龄;

package Person;

public class Peopel {
    //属性:姓名、年龄
    public String name;
    public int age;

    //构造函数
    public Peopel(String name, int age){
        this.name = name;
        this.age = age;
    }

    //方法:说名字、说年龄
    public void sayName() {
        System.out.println(this.name);
    }

    public void sayAge(){
        System.out.println(this.age);
    }
}

在其他类中使用:

package Person;

public class Use {
    public void used(){
        Peopel peopel = new Peopel("cyj", 18);
        peopel.sayAge();
        peopel.sayName();
    }
    public static void  main(String[] a){
        Use use = new Use();
        use.used();
    }
}