Java学习—对象和类

在本次学习中我们将学习Java对象和类。在面向对象编程技术中,需要设计和使用对象和类的程序。对象是物理和逻辑实体,而类是逻辑实体。

Java中的对象

    具有状态和行为的实体可称为对象(女朋友也可以叫对象)。 椅子,自行车,标记,笔,桌子,汽车等。它可以是物理或逻辑(有形和无形)。 无形对象的例子是银行系统。

一个对象有三个特点:
- 状态:表示一个对象的数据(值)。
- 行为:表示对象的行为(功能),例如:存款、取款等。
- 标识:对象标识通常通过唯一ID实现。该ID的值对外部用户不可见。 但是,它由JVM内部使用来唯一地标识每个对象。

例如: 汽车是一个对象。它的名字是:捷达,颜色是白色等这些就是它的状态(数据值)。它用于跑路,所以跑路就是它的行为。
对象是类的一个实例。 类是创建对象的模板或蓝图。 所以对象是一个类的实例。
对象的定义:

  • 是一个现实世界的实体
  • 是一个运行时实体
  • 具有状态和行为的实体
  • 类的一个实例

Java中的类

类是具有共同属性的一组对象。它是创建对象的模板或蓝图。它是一个逻辑实体。 它不能是物理存在的实体。
Java中的类包含如下:

  • 字段
  • 方法
  • 构造函数
  • 代码块
  • 嵌套类和接口

声明一个类的语法如下:

class<calss_name>{
    field;
    method;
}

Java中的实例变量

实例变量在类内部,但在方法外部定义的变量称为实例变量。 实例变量在编译时不获取内存。 它在运行时获取对象(实例)创建时的内存。 这是为什么,它被称为实例变量。
Java中的方法
在java中的方法类似函数,用于暴露对象的行为。

方法多分优点

  • 代码可重用
  • 代码优化

Java中new关键字

new关键字用于在运行时分配内存。所有对象在堆内存区域中获取内存。

对象和类示例(main方法在类的内部)

在这个例子中,我们创建了一个有两个数据成员:id和name的Student类。并通过使用new关键字创建Student类的对象,并打印对象的值。
这里,在类中创建main()方法。Student.java 类文件的代码如下

class Student{
    int id;
    String name;

    public static void main(String[] args) {
        Student s1 = new Student();
        System.out.println(s1.id);
        System.out.println(s1.name);
    }
}

对象和类示例(main方法在类的外部)

在真实的开发中,我们一般创建类并从另一个类中使用它。这是比上面的在同一个类中更好的方法。 让我们来看一个简单的例子,在另一个类中有main()方法创建其它类。
在不同的java文件或单个java文件中有多个类。 如果在单个java源文件中定义多个类,则最好使用带有main()方法的类名作为保存的文件名。下面来看一个名称为 TestStudent1.java 的文件中的代码

class Student{
    int id;
    String name;

}
class TestStudent1{

    public static void main(String[] args) {
        Student s1 = new Student();
        System.out.println(s1.id);
        System.out.println(s1.name);
    }
}

初始化对象

在Java中初始化对象有三种方法,分别如下:

  • 通过引用变量初始化对象
  • 通过方法初始化对象
  • 通过构造函数初始化对象

通过引用变量初始化对象
初始化对象仅仅是将数据初步地存储到对象中。下面来看看一个简单的例子,通过引用变量初始化对象。这里创建一个 TestStudent2.java 类文件,代码如下

class Student{
    int id;
    String name;

}
class TestStudent2{

    public static void main(String[] args) {
        Student s1 = new Student();
       s1.id = 101;
       s1.name="lishuhao";
        System.out.println(s1.id+" "+s1.name);
    }
}

当然我们还可以通过引用变量创建多个对象并存储信息在这些对象,方法类似。
通过方法初始化对象
在本示例中,将创建Student类的两个对象,并通过调用insertRecord方法来初始化这些对象的值。并通过调用displayInformation()方法显示对象的状态(数据)。这里创建一个 TestStudent4.java 类文件,代码如下

class Student{
    int id;
    String name;

    void insertRecorder(int r,String  n){

        id = r;
        name = n;
    }
    void displayInformation(){
        System.out.println(id+" "+name);
    }
}
class TestStudent4{

    public static void main(String[] args) {
        Student s1 = new Student();
        s1.insertRecorder(111,"lishuhao");
        s1.displayInformation();
    }
}

创建对象示意图如下:
这里写图片描述
从上图中我们可以看到,对象在堆内存区域获取内存。引用变量指的是在堆内存区域中分配的对象,这里S1,S2都是引用存储器中分配的对象的引用变量。
通过构造函数初始化对象
在后面我们学习构造函数时会详细说明。

Java中创建对象的方法

分别为:

  • new关键字
  • newInstance()方法
  • clone()方法
  • 反序列化
  • 工厂方法
    在后面的学习中我们会一一介绍到上述方法。

匿名对象

匿名只是表示没有名。没有引用的对象(也就是不使用实例变量)称为匿名对象。它只能在创建对象时使用。如果只需要使用一个对象,匿名对象是一个很好的方法。 例如:

new Calculation();//匿名对象
Calculation c = new Calculation();//使用实例变量所以不是匿名对象

调用方法通过引用:

Calculation c = new Calculation();
c.fact(5);

通过匿名对象调用方法:

new Calculation().fact(5);

仅创建同个类型的多个对象

可以按照一种类型创建多个对象,就像在原始数据类型中的情况中一样。
原始变量的初始化:

int a=10,b=20;

引用变量初始化:
Rectangele r1 = new Rectangle(),r2 = new Rectangle();
以上就是创建多个同类型对象的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

li_jeremy

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

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

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

打赏作者

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

抵扣说明:

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

余额充值