【Java编程教程】详解Java 中的对象和类

打印 上一主题 下一主题

主题 860|帖子 860|积分 2580

在本页中,我们将了解 Java 对象和类。在面向对象的编程技术中,我们使用对象和类来设计程序。
Java中的对象既是物理实体又是逻辑实体,而Java中的类只是逻辑实体。
什么是Java中的对象

具有状态和行为的实体称为对象,例如椅子、自行车、记号笔、笔、桌子、汽车等。它可以是物理的或逻辑的(有形的和无形的)。无形对象的例子是银行系统。
一个对象具有三个特征:

  • 属性:表示对象的数据(值)。
  • 方法:表示一个对象的方法(功能),如存款、取款等。
  • 身份:对象身份通常通过唯一 ID 实现。ID 的值对外部用户不可见。但是,JVM 在内部使用它来唯一地标识每个对象。
例如,Pen 是一个对象。它的名字叫雷诺兹;颜色为白色,称为它的状态。它是用来写的,所以写就是它的行为。
对象是类的实例。类是创建对象的模板或蓝图。因此,对象是类的实例(结果)。
对象定义:

  • 对象是现实世界中的实体。
  • 对象是运行时实体。
  • 对象是具有状态和行为的实体。
  • 该对象是一个类的实例。
Java中的类是什么

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

  • 字段
  • 方法
  • 构造器
  • 嵌套类和接口
声明类的语法:
  1. class <class_name>{  
  2.     field;  
  3.     method;  
  4. }  
复制代码
Java 中的实例变量

在类内部但在方法外部创建的变量称为实例变量。实例变量在编译时不获取内存。它在创建对象或实例时在运行时获取内存。这就是为什么它被称为实例变量。
Java 中的方法

在 Java 中,方法就像一个函数,用于公开对象的行为。
方法优势


  • 代码重用性
  • 代码优化
Java中的新关键字

new 关键字用于在运行时分配内存。所有对象都在堆内存区域中获得内存。
对象和类示例:类中的 main
在这个例子中,我们创建了一个 Student 类,它有两个数据成员 id 和 name。我们正在通过 new 关键字创建 Student 类的对象并打印对象的值。
在这里,我们在类中创建一个 main() 方法。
文件:Student.java
  1. //Java程序来说明如何定义一个类和字段
  2. //定义一个学生类  
  3. class Student{  
  4. //定义字段  
  5. int id;//字段或数据成员或实例变量  
  6. //在Student类中创建main方法
  7. public static void main(String args[]){  
  8.   //创建对象或实例
  9.   Student s1=new Student();//创建学生对象
  10.   //打印对象的值
  11.   System.out.println(s1.id);//通过引用变量访问成员
  12.   System.out.println(s1.name);  
  13. }  
  14. }  
复制代码
输出:
0
null
对象和类示例:类外的main

在实时开发中,我们创建类并从另一个类中使用它。这是一种比以前更好的方法。
让我们看一个简单的例子,我们在另一个类中有 main() 方法。
我们可以在不同的 Java 文件或单个 Java 文件中有多个类。如果在单个 Java 源文件中定义多个类,最好使用具有 main() 方法的类名来保存文件名。
文件:TestStudent1.java
  1. //Java 程序来演示在其中有 main 方法  
  2. //另一个类
  3. //创建学生类
  4. class Student{  
  5. int id;  
  6. String name;  
  7. }  
  8. //创建另一个包含主要方法的类TestStudent1
  9. class TestStudent1{  
  10. public static void main(String args[]){  
  11.   Student s1=new Student();  
  12.   System.out.println(s1.id);  
  13.   System.out.println(s1.name);  
  14. }  
  15. }  
复制代码
输出:
0
null
3种初始化对象的方法

在 Java 中有 3 种初始化对象的方法。

  • 通过引用变量
  • 按方法
  • 通过构造函数
1)对象和类示例:通过引用初始化

初始化对象意味着将数据存储到对象中。让我们看一个简单的例子,我们将通过引用变量初始化对象。
文件:TestStudent2.java
  1. class Student{  
  2. int id;  
  3. String name;  
  4. }
  5. class TestStudent2{  
  6. public static void main(String args[]){  
  7.   Student s1=new Student();  
  8.   s1.id=101;  
  9.   s1.name="小明";  
  10.   System.out.println(s1.id+" "+s1.name);//用空格打印成员
  11. }  
  12. }  
复制代码
输出:
101 小明
我们还可以创建多个对象,并通过引用变量将信息存储在其中。
文件:TestStudent3.java
  1. class Student{  
  2. int id;  
  3. String name;  
  4. }  
  5. class TestStudent3{  
  6. public static void main(String args[]){  
  7.   //创建对象  
  8.   Student s1=new Student();  
  9.   Student s2=new Student();  
  10.   //初始化对象  
  11.   s1.id=101;  
  12.   s1.name="小明";  
  13.   s2.id=102;  
  14.   s2.name="小华";  
  15.   //Printing data  
  16.   System.out.println(s1.id+" "+s1.name);  
  17.   System.out.println(s2.id+" "+s2.name);  
  18. }  
  19. }  
复制代码
输出:
101 小明
102 小华
2)对象和类示例:通过方法初始化

在此示例中,我们创建了 Student 类的两个对象,并通过调用 insertRecord 方法将值初始化为这些对象。在这里,我们通过调用 displayInformation() 方法来显示对象的状态(数据)。
文件:TestStudent4.java
  1. class Student{  
  2. int rollno;  
  3. String name;  
  4. void insertRecord(int r, String n){  
  5.   rollno=r;  
  6.   name=n;  
  7. }  
  8. void displayInformation(){System.out.println(rollno+" "+name);}  
  9. }  
  10. class TestStudent4{  
  11. public static void main(String args[]){  
  12.   Student s1=new Student();  
  13.   Student s2=new Student();  
  14.   s1.insertRecord(111,"小可");  
  15.   s2.insertRecord(222,"小艾");  
  16.   s1.displayInformation();  
  17.   s2.displayInformation();  
  18. }  
  19. }  
复制代码
输出:
111 小可
222 小艾

上图可以看到,object获取的是堆内存区的内存。引用变量是指分配在堆内存区的对象。这里,s1 和 s2 都是引用变量,引用内存中分配的对象。
3) 对象和类示例:通过构造函数初始化

稍后我们将学习 Java 中的构造函数。
对象和类示例:员工
让我们看一个维护员工记录的例子。
文件:TestEmployee.java
  1. class Employee{  
  2.     int id;  
  3.     String name;  
  4.     float salary;  
  5.     void insert(int i, String n, float s) {  
  6.         id=i;  
  7.         name=n;  
  8.         salary=s;  
  9.     }  
  10.     void display(){System.out.println(id+" "+name+" "+salary);}  
  11. }  
  12. public class TestEmployee {  
  13. public static void main(String[] args) {  
  14.     Employee e1=new Employee();  
  15.     Employee e2=new Employee();  
  16.     Employee e3=new Employee();  
  17.     e1.insert(101,"A",45000);  
  18.     e2.insert(102,"B",25000);  
  19.     e3.insert(103,"C",55000);  
  20.     e1.display();  
  21.     e2.display();  
  22.     e3.display();  
  23. }  
  24. }  
复制代码
输出:
101 A 45000.0
102 B 25000.0
103 C 55000.0
对象和类示例:矩形
给出了另一个维护 Rectangle 类记录的例子。
文件:TestRectangle1.java
  1. class Rectangle{  
  2. int length;  
  3. int width;  
  4. void insert(int l, int w){  
  5.   length=l;  
  6.   width=w;  
  7. }  
  8. void calculateArea(){System.out.println(length*width);}  
  9. }  
  10. class TestRectangle1{  
  11. public static void main(String args[]){  
  12.   Rectangle r1=new Rectangle();  
  13.   Rectangle r2=new Rectangle();  
  14.   r1.insert(11,5);  
  15.   r2.insert(3,15);  
  16.   r1.calculateArea();  
  17.   r2.calculateArea();  
  18. }  
  19. }  
复制代码
输出:
55
45
在 Java 中创建对象有哪些不同的方法?

java中创建对象的方法有很多种。他们是:

  • 按新关键字
  • 通过 newInstance() 方法
  • 通过 clone() 方法
  • 通过反序列化
  • 通过工厂方法等
稍后我们将学习这些创建对象的方法。
匿名对象

匿名只是意味着无名。没有引用的对象称为匿名对象。它只能在创建对象时使用。
如果您只需要使用一个对象一次,那么匿名对象是一个很好的方法。例如:
  1. new Calculation();//匿名对象
复制代码
通过引用调用方法:
  1. Calculation c=new Calculation();
  2. c.fact(5)
复制代码
通过匿名对象调用方法
  1. new Calculation().fact(5);  
复制代码
让我们看看 Java 中匿名对象的完整示例。
[code]class Calculation{   void fact(int  n){    int fact=1;    for(int i=1;i

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

曹旭辉

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表