类、对象、属性、方法、构造方法

Java是面向对象的语言,学习Java本质也是学习各种类。

1.Java的类和对象

类:相当于一个模板,它描述一类对象的行为和状态。

对象:对象是类型的实例化,有状态和行为。

例如1:定义一个动物类,而每个动物比如猫、狗为一个具体的对象,每个对象有一些具体的属性,比如颜色,大小等,然后对应一些行为方法,比如狗叫,睡觉,跑等等

例如2:定义一个Person类,每个人为Person类的一个具体的对象,有一些基本的属性,比如姓名,民族,年龄等,有一些行为方法,比如工作,跑步等等。

例如3:一个汽车类Car,每辆车为具体的对象,有各种属性,比如车颜色,车的品牌等。

 

类可以看成是创建Java对象的模板,比如我们定义Person类。

根据上图,我们可以来定义下这个类:

public class Person {
    String name;
    int age;
    String nation;

    void study(){

    }

    void run(){
        
    }
}

上述例子中,name, age, nation为Person类的属性,study和run为方法。

那么,我们用引用这个类的时候,就需要把这个类实例化,用new来表示,比如

Person person = new Person();

person就是Person类的实例化对象,这样就可以调用类中的属性和方法了

       person.name = "小明";
        person.study();

一个类可以包含以下类型变量:

  • 局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
  • 成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
  • 类变量:类变量也声明在类中,方法体之外,但必须声明为 static 类型。

一个类可以拥有多个方法,在上面的例子中:study()、run() 都是 Person 类的方法。

2.构造方法

Java每个类都有构造方法,构造方法的名字必须和所在类的名字一致,没有返回值,但不能声明void,访问权限可以为任意,但是一般情况下使用public方法权限

如果没有显式地为类定义构造方法,Java 编译器将会为该类提供一个默认构造方法。

如上述Person类例子中,程序会默认创建一个无参的构造方法,我们可以打开编译Person.class文件,就可以看到这个默认的构造方法了

public class Person {
    String name;
    int age;
    String nation;

    public Person() {
    }

    void study() {
    }

    void run() {
    }
}

程序中的public Person() { }为默认创建的无参构造方法,创建构造方法的时候需要注意,方法名称必须跟类名一样,并且构造器没有返回参数。

当然,也可以创建有参构造方法,比如:

 

public Person(String name, int age, String nation){
        this.name = name;
        this.age = age;
        this.nation = nation;

    }

 

this关键字指的就是本类。

构造器的用途:一般来说是进行初始化。在运行时刻,可以通过调用方法或执行某些动作来确定初始值

需要注意的是:

 

 

1)构造器必须与主类同名

2)构造器可以有参数

3)构造器可以重载

4)没有返回值

5)不添加构造器编译器生成默认构造器

6)一个类可以有多个构造器

 

posted @ 2020-11-12 23:16  Danny·茄子  阅读(860)  评论(0)    收藏  举报