码迷,mamicode.com
首页 > 其他好文 > 详细

类的基础

时间:2021-06-16 18:17:45      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:私有   静态成员变量   属性   编程   person   默认值   成员   anim   编程思想   

类的基础

类的组成

面向对象是一种编程思想,而 Java 的设计则很好的诠释了这一概念

一个类由属性、方法两部分组成

  • 类变量:类本身具有的属性
  • 类方法:类本身具有的方法
  • 实例变量:类的对象具有的属性
  • 实例方法:类的对象具有的方法

类变量、实例变量可以统称 成员变量,而类变量也可以称作 静态变量、静态成员变量

类方法、实例方法可以统称 成员方法,而类方法也可以称作 静态方法、静态成员方法

简单理解为,类属性、类方法是类本身所具有的;实例属性、实例方法依赖于类的对象

类的组成部分 示例

public class Person {
    /* 类变量 */
    private static String name;
    /* 实例变量 */
    private Integer age;
    /* 类方法 */
    public static void eat(String food) {
    }
    /* 实例方法 */
    public void sing(String sing) {
    }
}

成员变量与局部变量

类的成员变量与方法的局部变量存在区别

书写位置:成员变量位于类中、方法体外;局部变量位于方法体、代码块中

内存位置:成员变量位于堆内存;局部变量位于栈内存

类型默认值:成员变量存在默认初始值;局部变量不存在

作用域:成员变量作用域整个类;局部变量只在方法体、代码块中有效

生命周期:成员变量自类、对象的创建到销毁;局部变量随着方法、代码块的执行完毕而释放

类的实例对象

类在实例化之后,可以得到该类的对象,称为 实例对象,实例化的关键字是 new

Animal animal = new Animal();

new 在堆内存中,为实例对象开辟 新的存储空间,需要格外注意

当一个类实例化之后,其中的实例变量、实例方法才可以被调用

而对于静态成员变量、方法,则无需类的实例化,区别在于关键字 static

static 声明的属性、方法,在类加载时创建,属于类本身,由所有实例对象共享

类在实例化以后,可以获得一个该类的对象,并操作其中的实例属性、实例方法

类的构造方法

在类中,存在一个特殊的方法,构造方法

构造方法存在以下几点

  • 构造方法名与类名保持一致
  • 构造方法不存在返回值,也不应该有返回值
  • Java默认提供无参的构造方法,若重载了有参构造,则不再提供
  • 构造方法可以私有化,应用于特定的场景

需要注意的一点,若重载了构造方法,必须手动声明无参构造

this 关键字

this 关键字指代当前实例对象,存在三种用法

  1. this. 属性名:指代当前的实例属性,见于构造方法的重载
  2. this. 方法名:指代当前的实例方法
  3. this():用于构造方法中,调用其它的构造方法,置于构造方法首行

static 关键字

static 关键字用于修饰类变量、类方法、代码块以及内部类,意为 静态

静态的属性、方法,在类加载时一并创建,优先级高于实例对象的属性、方法

  1. 简单的说,静态属性、方法不能访问非静态的属性、方法,反之则可以访问
  2. 静态的属性在类加载时即初始化,该类所有的实例对象则共享一份静态属性
  3. 静态代码块存在于类中,在类加载时执行,仅执行一次

简单的理解为,static 修饰的类属性优先创建,被多个实例对象所共享使用,数据唯一

类的基础

标签:私有   静态成员变量   属性   编程   person   默认值   成员   anim   编程思想   

原文地址:https://www.cnblogs.com/wyfyjc/p/14881915.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!