JAVA类和对象

[JAVA的类和对象]

类是一个抽象的概念。
对象则是能用来实现具体功能。

  • 例如:
    Scanner sc=new Scanner(System.in)
    
    Scanner 是类,sc是对象。
    我们一般通过sc.xxx来实现输入。

  • 类定义了成员变量和成员方法
  • 类是一种引用数据类型
  • 使用
    • 1.导包

      -如果使用的目标类,和当前类(含有main方法)位于一个包下的,那么可以省略导包不写,否则需要使用import导包。
    • 2.创建

      类名称 对象名=new 类名称();
    • 3.使用

      成员变量
      • 成员变量如果没有赋值,本身会有一个初始值。
      使用
      • 对象名.成员变量名
      与局部变量的对比
      • 定义位置不同
        • 局部变量定义在方法内部
        • 成员变量直接定义在类内部,方法外部
      • 内存中位置不同
        • 局部变量在栈内存中(Stack)
        • 成员变量在堆内存内(Heap)
      • 生命周期不同
        • 局部变量,随着方法的进栈而出现,随着方法的出栈而消失
        • 成员变量,随着对象被创建而出现,随着对象被JVM回收而消失
      • 默认值不同
        • 局部变量没有默认值,必须赋值后使用。
        • 成员变量,没赋值会有初始值。
      成员方法
      • 没有static才为成员方法,有就是普通方法。
      使用
      • 对象名.方法名
  • private关键字

    • 一旦用private关键字对成员进行修饰,那么除了本类范围外就不能直接使用了
    • 那么便需要间接使用方法

      Setter方法
      • 专门定义一个成员方法来设置成员变量的数据。
      • 格式
      public void set(成员变量名)(){//一定要用void
      }
      
      Getter方法
      专门定义一个成员方法来获取成员变量的数据
      • 格式
      public (成员变量的数据类型) get(成员变量名)(){
      	return 成员变量
      }
      
      • 注意
        如果基本数据类型是boolean,那么getXxx 改成isXxx
  • this关键字

    • 在类中如果局部变量和成员变量重名了,方法中会根据“就近原则”使用局部变量
    • 我们就可以使用this关键字来区分局部变量和成员变量
    • this关键字其实代表的是“当前对象”,谁调用的方法,谁就是this
  • 构造方法

    • 构造方法就是专门用来创建对象的方法,当通过new关键字创建对象时,其实就是在调用构造方法。
    • 重载跟普通方法一致。
    • 如果类中没有构造方法,自动创建一个无参数的啥都不做的构造方法,但如果有一个,就不再自动创建无参数的。
    • 格式
    public (构造方法名)(参数类型 参数名称){
    	方法体
    	return//通常省略return
    }
    
    注意
    • 构造方法不能写返回值,连void都不能写
    • 构造方法的名称必须和类名称完全一样,大小写也要一样
  • 标准POJO类

    • 所有成员变量都需要使用private关键字私有化。
    • 为每一个成员变量编写一对儿Getter Setter方法
    • 编写一个无参数的构造方法
    • 编写一个全参数的构造方法

对象

  • 对象本身是一个引用类型。(所存的本质应该是地址)
    更详细的理解请点击 图解
  • 类 对象2=对象1(本质是将对象1的地址复制给对象2)

快捷键

  • alt+shift+r 快捷替换对象名。
posted @ 2024-01-05 20:26  拍手称快  阅读(6)  评论(1编辑  收藏  举报