Java 类与对象

什么是对象

对象就是看得见摸得着的东西,万物皆对象

如何认识对象

任何一个对象都有其特征和功能,我们也是通过对象的特征和功能认识对象

什么是类

我们把具有某些相同特征和功能的对象归纳为类,类是对对象的抽象和描述,不是具体指某个对象或东西,类是看不见摸不着的,比如人类、狗、男人等。

类的作用

类的作用是作为模板或图纸用于建造同一类对象,比如想要修建一栋大厦,不可能不画设计图,一上来就开干。

如何定义类

public class 类名 {
	  属性(特征);
	  方法(功能);
}
  • public:是 Java 的一个访问修饰符,表明定义的类是公有类。访问修饰符的作用是用于控制类、属性和方法的访问权限,关于访问修饰符的更详细内容,后面我会单独讲解。这里需要记住的是,一个 Java 源文件只能包含一个公有类且文件名必须和公有类的类名相同

  • class:用于定义类的 Java 关键字

  • 类名:同变量名或方法名一样,必须是一个有效的标识符;类名按照 Java 编码规范,要求首字母大写

类的属性和方法

类的属性

类的属性其实就是类描述对象的特征,在 Java 语言中也叫成员变量,之所以叫成员变量是因为它是类的一个成员,而且它本身也是一个变量。

需要注意的是,类的成员变量与方法的局部变量是有区别的,方法的局部变量是在方法中声明的变量,而类的成员变量是类中方法外声明的变量,所以它们二者的作用范围和生命周期是不同的,使用是要注意差异。

public  class Car {
       public String type =“sports car”;//车型   
       public int wheel = 16; //车轮  
       public int window = 6 ; //窗     
       public int door = 2; //门        
       public int engine = 1; //引擎    
} 

以上代码声明了 5 个属性或成员变量,而且分别进行了初始化;当然也可以不初始化,Java 语言会提供默认值。

类的方法
public class Car {
      public void start ( ) {
					System.out.println(“发动汽车”);
       }
       public void refuel ( int volume ) {
          System.put.println(“ 汽车加油:”+ volume + “升”);
      }
} 

声明类的方法似于和我们之前声明的方法差不多,唯一不同的地方是少了一个 static 关键字。static 关键字到底是干嘛用的呢,这个还是要在等到后面详细讲解。

构造器概念

构造器(或构造方法)是类中用于实例化 Java 对象的一个特殊方法,该方法要求方法名必须和类名相同,且方法不具有任何返回类型

public 类名 {
	 ... 
}

默认构造器

默认构造器就是没有参数的构造器,有显式和隐式之分

  • 显示默认构造器:指在类中声明的无参数构造器

  • 隐式默认构造器:指由 Java 言语自动提供的无参数构造器

public class Car   {
   // 显式默认构造器
   public Car () {
       …
   }
} 

任何一个类必须要有一个构造器,否则就无法实例化对象,所以即使我们没有为类声明显示默认构造器,Java 言语也会提供隐式默认构造器。

当我们为类声明了显示默认构造器,实例化对象时就会使用显示默认构造器,而不会使用隐式默认构造器。

构造器重载

在 Java 语言中,普通方法可以重载,构造器虽然是特殊方法,但也支持重载。

我们先回顾一下,方法重载必须满足 4 个条件:

  • 方法名必须相同

  • 方法的返回值类型可以不同

  • 方法的参数列表必须不同(参数类型、个数或顺序必须有一个不同)

  • 方法的访问修饰符可以不同

public class Car {
       public int door;
  …
  //显式构造器
  public car ( ) {
	System.out.println(“这是显式默认构造器”);
  }

  //构造器重载
  public Car (int doorNum) {
	door = doorNum;    
  }
}

以上代码重载构造器,为类添加了一个构造器。

实例化对象

实例化对象就是使用类去创建对象的过程,好比通过图纸修建大厦的过程。

类名 对象名 = new 构造器;
  • new:是 Java 关键字,用于实例化对象(在内存堆区开辟空间保存对象)

  • 构造器:通过调用类的某个构造器才能实现实例化对象

  • 对象名:可以使用对象名来间接调用对象(保存对象的引用)

Car car = new Car();    //调用显式默认构造器实例化对象
Car car2 = new Car (2);//调用重载构造器实例化对象

对象的使用

Java 对象的使用就是访问(或调用)对象的属性和方法

  • 对象名.属性

  • 对象名.方法

Car car = new Car();
car.door;
car.start();

对象的销毁

对象的销毁就是释放对象占用的内存空间,Java 语言 采用的是 GC 垃圾回收机制,它可以自动回收不再使用的对象,Java 程序员就只需要关注对象的实例化,而不用关注对象的销毁。

GC 回收的对象已经释放掉其占用的内存空间,就不能再使用,否则就会导致运行时错误(或程序崩溃)。

posted @ 2020-09-17 17:53  Binge-和时间做朋友  阅读(123)  评论(0编辑  收藏  举报