zoukankan      html  css  js  c++  java
  • 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 回收的对象已经释放掉其占用的内存空间,就不能再使用,否则就会导致运行时错误(或程序崩溃)。

    作者:Binge
    本文版权归作者和博客园共有,转载必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
  • 相关阅读:
    第36课 经典问题解析三
    第35课 函数对象分析
    67. Add Binary
    66. Plus One
    58. Length of Last Word
    53. Maximum Subarray
    38. Count and Say
    35. Search Insert Position
    28. Implement strStr()
    27. Remove Element
  • 原文地址:https://www.cnblogs.com/binbingg/p/13595693.html
Copyright © 2011-2022 走看看