Java类_对象_变量

简介:

类:Java类是一个模板,是一类具体事物的描述。小猫、小狗就是动物,那么动物就可以是一个类;狗也是可以是一个类,因为萨摩耶、哈士奇、阿拉斯加都是狗。Java类描述的是一类对象的行为和状态。

对象:Java对象是类的具体实现。如果说小狗是一个类的话,那么一只哈士奇就是这一个类的一个对象,它有颜色、高度、品种等状体;同时还有叫、破坏沙发、啃咬椅子等行为。
代码中的对象: 代码中的对象是有状态和行为的,其状态就是代码中的属性,其行为就是代码中的方法。比如如下Java代码:

class Dog{

    public Dog(){
        //构造器
    }
    //成员变量
    //小狗的名字
    String name;
    //小狗的品种
    String breed;
    //小狗的年龄
    //类变量
    static int age = 1;
    
    /**
    小狗的行为(汪汪)
    */
    void wangwang(){
        //局部变量
        String color =   "黑白"
    }
}

一个类可以包含很多的变量:
局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。
构造器:构造器可以理解为创建这个对象的一个方法。每个类都有构造器。如果没有显式地为类定义构造器,Java编译器将会为该类提供一个默认构造器。在创建一个对象的时候,至少要调用一个构造器。构造器的名称必须与类同名,一个类可以有多个构造器。
创建对象:对象是根据对象创造的。在Java中使用关键字”new“来创建出一个新的对象。创建一个对象要有三个步骤:
声明:声明一个对象,包括对象名称和对象类型。
实例化:使用关键字new来创建一个对象。
初始化:使用new创建对象时,会调用构造方法初始化对象。

public class Dog {
    //name成员变量
    String name;
    // dreed类变量
    static String dreed = "哈士奇";

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public static String getDreed() {
        return dreed;
    }

    public static void setDreed(String dreed) {
        Dog.dreed = dreed;
    }

    public Dog(String name){
        System.out.println(name);
    }
    void wangWang(){
        System.out.println("汪汪");
    }
    public static void main(String[] args) {
        // 申明Dog
        Dog dog = new Dog("二哈");//创建对象
        String dreed = Dog.dreed;//调用类变量
        dog.wangWang();//调用Dog类的二哈的wangWang方法
    }
}

目录
相关文章
|
27天前
|
设计模式 网络协议 数据可视化
Java 设计模式之状态模式:让对象的行为随状态优雅变化
状态模式通过封装对象的状态,使行为随状态变化而改变。以订单为例,将待支付、已支付等状态独立成类,消除冗长条件判断,提升代码可维护性与扩展性,适用于状态多、转换复杂的场景。
235 0
|
2月前
|
安全 Java 数据建模
Java记录类:简化数据载体的新选择
Java记录类:简化数据载体的新选择
230 101
|
2月前
|
安全 Java 开发者
Java记录类:简化数据载体的新方式
Java记录类:简化数据载体的新方式
276 100
|
3月前
|
安全 IDE Java
Java记录类型(Record):简化数据载体类
Java记录类型(Record):简化数据载体类
386 120
|
1月前
|
存储 Java 索引
用Java语言实现一个自定义的ArrayList类
自定义MyArrayList类模拟Java ArrayList核心功能,支持泛型、动态扩容(1.5倍)、增删改查及越界检查,底层用Object数组实现,适合学习动态数组原理。
83 4
|
1月前
|
IDE JavaScript Java
在Java 11中,如何处理被弃用的类或接口?
在Java 11中,如何处理被弃用的类或接口?
138 5
|
1月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
129 1
|
1月前
|
Java Go 开发工具
【Java】(8)正则表达式的使用与常用类分享
正则表达式定义了字符串的模式。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。
191 1
|
1月前
|
存储 Java 程序员
【Java】(6)全方面带你了解Java里的日期与时间内容,介绍 Calendar、GregorianCalendar、Date类
java.util 包提供了 Date 类来封装当前的日期和时间。Date 类提供两个构造函数来实例化 Date 对象。第一个构造函数使用当前日期和时间来初始化对象。Date( )第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。
135 0
|
1月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
147 1