Java---类和对象

本文详细介绍了面向对象编程中的核心概念——类和对象。类是事物的抽象,包含属性(状态)和行为(方法),而对象是类的具体实例,具有实际的属性值。通过类定义创建对象,并通过对象访问成员变量和调用方法。此外,还讨论了成员变量和局部变量的区别,以及如何将对象作为参数传递给方法和作为方法的返回值。
摘要由CSDN通过智能技术生成

目录

1.什么是类?

2.什么是对象?

3.类和对象的关系

4.类的定义

5.对象的使用

5.1创建格式:

5.2使用对象访问成员变量:

5.3 一个对象的内存图

5.4 使用对象类型作为方法的参数

5.5 使用对象类型作为方法的返回值

6.成员变量和局部变量的区别


1.什么是类?

:是一组相关属性行为的集合。

属性:就是该事物的状态信息。

行为:就是该事物能够做什么。

例如:小猫

属性:名字,年龄,颜色。

行为:叫,跑,走。

2.什么是对象?

对象:是一类事物的具体体现。对象是类的实例,具备该类事物的属性和行为。

例如:一只小猫

属性:Tom,2,yellow。

行为:溜墙根走、蹦跶的跑、喵喵叫。

3.类和对象的关系

  • 类是一类事物的描述,是抽象的。

  • 对象是一类事物的实例,是具体的。

  • 类是对象的模板,对象是类的实体,比如:类是盖房子的图纸,对象就是一座座根据图纸改出来的房子

4.类的定义

类的定义格式:

public class ClassName{
    //成员变量
    //成员方法
}

代码示例:

public class Student {
    //成员变量
    String name;
    int age;

    //成员方法
    public void study() {//不需要ststic修饰
        System.out.println("好好学习");
    }

    public void eat() {
        System.out.println("吃饭");
    }
}

5.对象的使用

5.1创建格式:

类名 对象名 = new 类名( );

5.2使用对象访问成员变量:

对象名.成员变量;

对象名.成员方法;

代码示例:

public class Test_Student {
    public static void main(String[] args) {
        Student student = new Student();
        System.out.println(student);//地址值
        System.out.println("姓名:" + student.name);//null
        System.out.println("年龄:" + student.age);//0
        System.out.println("---------------");

        student.name = "张三";
        student.age = 12;
        System.out.println("姓名:" + student.name);//姓名:张三
        System.out.println("年龄:" + student.age);//年龄:12
        System.out.println("---------------");

        student.eat();//吃饭
        student.study();//好好学习
    }
}

5.3 一个对象的内存图

5.4 使用对象类型作为方法的参数

public class Test_Student {
    public static void main(String[] args) {
        Student student = new Student();
        student.name = "张三";
        student.age = 12;

        method(student);//使用对象类型作为方法的参数
    }

    public static void method(Student student) {
        System.out.println(student.name);
        System.out.println(student.age);
    }
}

5.5 使用对象类型作为方法的返回值

 public static void main(String[] args) {
        Student student = getStudent();//地址值0x100
        System.out.println(student.age);
        System.out.println(student.name);
    }

    public static Student getStudent() {
        Student student1 = new Student();//假设地址值为0x100
        student1.name = "李娜";
        student1.age = 13;
        return student1;//返回地址值0x100
    }

6.成员变量和局部变量的区别

 局部变量(方法中用)成员变量(类中用)
定义的位置不同在方法内部在方法外部,直接写在类中

作用范围不同

只有在方法中可以用整个类中都可以用
默认值不一样没有默认值,必须先定义,赋值,在使用(必须赋值)如果没有赋值,会有默认值(可以不赋值)
内存位置不一样在栈中在堆中
生命周期不一样随着方法的调用而存在,随着方法的调用完毕而消失随着对象的创建而存在,随着对象的消失而消失

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值