Java类与对象

本文概述了类的概念,作为抽象的集合描述相似特征和行为,以及对象作为类的具体实例。讲解了对象的属性和方法,类与对象的关系,以及如何定义和创建类。重点介绍了对象声明、初始化的不同方式,包括实例变量和静态变量的初始化顺序。
摘要由CSDN通过智能技术生成

一、什么是类?

1、类是一种抽象的概念。

2、类:是具有相似特征和行为的对象的集合。

二、什么是对象?

1、对象是一种具体概念(也称为实例)。

2、对象的特征:状态(属性)和行为(方法)。

*状态(属性)用来描述对象的静态特征。

      -属性通常是采用一个变量的形式来定义的。

            例:int age;//定义年龄属性

                 String name;//定义姓名属性

 *行为(方法)用来描述对象的动态特征。

三、类与对象之间是什么关系?

      类的实例化就是对象,而对象的抽象就是类,例如:人是一个类,具体哪一个人就是一个对象,每一个对象都符合这个类的标准。一个类的所有对象都有相同的属性(都是人),但是有着不同的属性信息(名字,长相、身高)与行为信息(吃饭,睡觉)。

四、类定义的具体格式(想得到对象,首先得定义类):

  [public] [abstract|final] class ClassName{

        类体 = 属性+方法

        //属性在代码上以“变量”的形式存在(描述状态)

        //方法描述动作/行为

}

对定义格式进行说明:

        -类的访问修饰符可以是public或缺省(为空)

        -public:公共类(可被任何包中类使用)

        -若不加public修饰符,该类只能被同一包中的其他类使用。

        -abstract:抽象类

        -final:最终类

类体中包含:

1.构造方法(用于创建类的实例)

2.成员变量(定义对象的状态)

3.成员方法(定义对象的行为)

五、对象的声明与创建:

(1)声明格式:

        TypeName objectName;(Employee employee)

        TypeName:应用类型名,可以是类名也可以是接口名;

        objectName:对象名、引用名、实例名。

        -若要声明多个同类型的对象名,可用逗号隔开。

                Employee emp1,emp2;

        -对象的声明和创建可以使用一个语句完成。

                Employee employee = new Employee();

        -若对象仅在创建处使用,也可以不声明引用名。

                new Employee().sayHello();

(2)对象的使用:

                -主要使用点号运算符(.)

                -通过对象引用访问对象的成员变量和调用对象的成员方法

(3)对象引用赋值

                对于基本数据类型的变量赋值,是将变量的值的一个副本赋给另一个变量。

                对于对象的赋值是将对象的引用(地址)赋值给变量。 

(4)对象初始化

1、实例变量(成员变量)初始化。

        *成员变量的默认值(类的定义中若没有为变量赋初值,编译器会为每个成员变量指定一个默认值),引用类型的变量默认值为null。

        *对于方法或代码块中声明的变量,编译器不为其赋初始值,使用之前必须为其赋初值。

变量类型初始值变量类型初始值
byte0float

0.0F

short

0double

0.0D

int0

boolean

false
long0Lchar\u0000

       初始化:

        (1)在变量声明时初始化

int id = 1001;

        (2)使用初始化块初始化

        int id;

        String name;

{       //这里是初始化块

        id = 1001;

        name = "李明";

}       // 初始化块是在构造方法之前调用的。     

         (3)使用构造方法初始化

public Student (int id, String name, double marks,boolean pass) {

                this.id = id;

                this.name = name;

                this.marks = marks;

                this.pass = pass;

}

           (4)初始化次序

                1.首先使用默认值或指定的初值初始化

                2.接下来执行初始化块

                3.最后再执行构造方法 

2、静态变量(类变量)初始化。

        *静态变量未指定初始值时,编译器也会赋默认值。

        *对于static变量不论创建多少对象(甚至没有创建对象时)都只占一份存储空间。

        初始化方法:

                (1)声明时初始化

                (2)使用静态初始化块初始化

public class StaticDemo{

        static int x = 100;

        static{ //静态初始化块

                x = 48;

        }

        public StaticDemo{

                x = 88;

        }

        //其他代码

}

                (3)使用构造方法初始化

                (4)初始化顺序

                        1.用默认值给静态变量赋值,然后执行静态初始化块为static变量赋值。

                        2.用默认值给实例变量赋值,然后执行初始化块为实例变量赋值。

                        3.最后使用构造方法初始化静态变量或实例变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

以N

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值