JAVA面向对象之对象和类

简介:

Java是一种面向对象的编程语言,面向对象在整个Java的学习中属于重中之重,从这一篇博客开始,将逐步为大家介绍Java面向对象的相关知识,这一偏将为大家介绍对象和类的概念以及如何定义类和创建对象。

一、对象和类的概念

1、对象

以一个人为例,对于人,我们可以从他所具有的特征和所具有的行为来进行分析。

特征:体重、身高、性别、年龄......

行为:吃饭、睡觉、说话......

上面的例子就是对现实世界中的具体事物进行的描述,这些具体的事务就是对像,比如一个人、一辆车。从以上的分析还可以看出,人类在对事物进行描述的时候大多从两个方面,即从静(特性、特征)和动(用途、行为)来展开。所以我们可以总结为:对象指具体的事物,具有静态的特征和动态的行为或用途。

在Java语言中,在对对象进行描述时,其静态的特征称为属性,动态的行为或用途称为方法。

2、类

上面提到对象是具体的事物,那么,类就是对具体事物的一般特征进行描述。换句话说,类是具有相同属性和行为的一组对象的集合,类也有属性和行为。

对象是具体的一个实实在在的事物,类是从这些具体事物(对象)的原型。是这些事物一般特征的描述,是抽象出来的。

二、定义类和创建对象

1、类的声明

Java中类声明的格式如下:

[类修饰符] class 类名 [extends 父类名称] [implements 接口名称列表] 

{

   变量定义及初始化;

   方法定义及方法体;

}

类修饰符:[public|abstract|final] 缺省方式为frindly

public:类的访问控制符。Java类具有两种访问访问修饰符:public和default。public允许类具有完全开放的可见性,所有其他类都可以访问它,省略public,则为default,即只有位于同一个包(本质上就是文件夹)中的类可以访问该类。

abstract指明该类为一个抽象类,说明该类是一个定义不完全的类,需要被继承,才能实例化创建对象。

final:表明该类为最终类,不能被继承。

extends:表示继承,如果没有指定继承关系,则自动从Object类派生该类。

implements:表示实现接口。

2、类的成员

类的成员包括属性(变量)和方法两个部分,定义格式如下:

成员变量:

[变量修饰符] 变量数据类型 变量名;

变量修饰符可以为public、protected、private、static、final、transient、volatile。

成员变量可以是Java的任意一种数据类型

成员方法:

[方法修饰符] 返回类型 方法名称(参数列表) [throws exception]

{

   ......

}

方法修饰符可以是public、protected、private、static、final、abstract、native、synchronized。

返回类型可以是Java任意数据类型,当一个方法不需要返回值时,返回类型为void。

参数的类型可以是Java任意数据类型,根据数据类型的不同采用值传递或引用传递。

3、创建对象

想要创建对象,我们首先要抽象出类,比如我们要创建一个箱子对象,我们应该首先抽象出箱子类,箱子具有长度、宽度、高度等属性,并且可以计算体积,所以我们可以这样定义这个类:

public class Box 
{
   private double length;
   private double width;
   private double height;
   
   public void setLength(double length)
   {
      this.length = length;
   }
   
   public void setWidth(double width)
   {
      this.width = width;
   }
   
   public void setHeight(double height)
   {
      this.height = height;
   }
   
   public double getLength()
   {
	   return length;
   }
   
   public double getWidth()
   {
	   return width;
   }
   
   public double getHeight()
   {
	   return height;
   }
   
   public double getV()
   {
      return length * width * height;
   }
}
在这个类中,类名为Box,我们定义了三个属性,分别为长、宽、高,且属性的访问修饰为private,我们需要通过getter/setter方法对其进行读取/赋值,另外还有一个计算体积的方法。

要想创建新的对象,我们需要使用new关键字和想要创建对象的类名,如:

Box box = new Box();

等号左边以类名Box作为变量类型定义了一个变量box,来指向等号右边通过new关键字创建的一个Box类的实例对象,变量box就是对象的引用。注意:在new语句的类名后一定要加上(),Box()被称为构造方法,后面会进行讲解。

如果要访问对象中的属性或方法,可以使用.操作符,如:box.getV();

目录
相关文章
|
2天前
|
Java 编译器
Java——类与对象(继承和多态)
本文介绍了面向对象编程中的继承概念,包括如何避免重复代码、构造方法的调用规则、成员变量的访问以及权限修饰符的使用。文中详细解释了继承与组合的区别,并探讨了多态的概念,包括向上转型、向下转型和方法的重写。此外,还讨论了静态绑定和动态绑定的区别,以及多态带来的优势和弊端。
16 9
Java——类与对象(继承和多态)
|
2天前
|
SQL Java 编译器
Java——类与对象(封装)
封装是面向对象编程中的概念,指将数据(属性)和相关操作(方法)组合成独立单元(类),使外部无法直接访问对象的内部状态,只能通过提供的方法进行交互,从而保护数据安全。例如,手机将各种组件封装起来,只暴露必要的接口供外部使用。实现封装时,使用`private`关键字修饰成员变量,并提供`get`和`set`方法进行访问和修改。此外,介绍了包的概念、导入包的方式及其注意事项,以及`static`关键字的使用,包括静态变量和方法的初始化与代码块的加载顺序。
15 10
Java——类与对象(封装)
|
2天前
|
Java C语言
Java——类与对象
这段内容介绍了Java中的类和对象、`this`关键字及构造方法的基本概念。类是对现实世界事物的抽象描述,包含属性和方法;对象是类的实例,通过`new`关键字创建。`this`关键字用于区分成员变量和局部变量,构造方法用于初始化对象。此外,还介绍了标准JavaBean的要求和生成方法。
16 9
Java——类与对象
|
1天前
|
存储 安全 Java
Java——String类详解
String 是 Java 中的一个类,用于表示字符串,属于引用数据类型。字符串可以通过多种方式定义,如直接赋值、创建对象、传入 char 或 byte 类型数组。直接赋值会将字符串存储在串池中,复用相同的字符串以节省内存。String 类提供了丰富的方法,如比较(equals() 和 compareTo())、查找(charAt() 和 indexOf())、转换(valueOf() 和 format())、拆分(split())和截取(substring())。此外,还介绍了 StringBuilder 和 StringJoiner 类,前者用于高效拼接字符串,后者用于按指定格式拼接字符串
7 1
Java——String类详解
|
4天前
|
存储 Java
Java的对象和类的相同之处和不同之处
在 Java 中,对象和类是面向对象编程的核心。
|
2天前
|
Java
Java Character 类详解
`Character` 类是 Java 中的一个封装类,位于 `java.lang` 包中,主要用于处理单个字符。它是一个最终类,提供了多种静态方法来检查和操作字符属性,如判断字符是否为字母、数字或空格,以及转换字符的大小写等。此外,`Character` 类还支持自动装箱和拆箱,简化了 `char` 和 `Character` 之间的转换。以下是一些示例代码,展示了如何使用 `Character` 类的方法来检查字符属性和执行字符转换。掌握 `Character` 类的用法有助于更高效地处理字符数据。
|
2天前
|
Java
Java Number & Math 类详解
在 Java 中,`Number` 类和 `Math` 类是处理数字和数学运算的重要工具。
|
3天前
|
安全 Java Go
面向对象程序设计语言:Java
Java语言语法和C语言和C++语言很接近,很容易学习和使用,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的特性,Java语言不使用指针,而是引用,并提供了自动分配和回收内存空间,使得程序员不必为内存管理而担忧
18 2
|
3天前
|
存储 Java
Java编程中的对象序列化与反序列化
【9月更文挑战第12天】在Java的世界里,对象序列化与反序列化是数据持久化和网络传输的关键技术。本文将带你了解如何通过实现Serializable接口来标记一个类的对象可以被序列化,并探索ObjectOutputStream和ObjectInputStream类的使用,以实现对象的写入和读取。我们还将讨论序列化过程中可能遇到的问题及其解决方案,确保你能够高效、安全地处理对象序列化。
|
9天前
|
Java
Java 对象和类
在Java中,**类**(Class)和**对象**(Object)是面向对象编程的基础。类是创建对象的模板,定义了属性和方法;对象是类的实例,通过`new`关键字创建,具有类定义的属性和行为。例如,`Animal`类定义了`name`和`age`属性及`eat()`、`sleep()`方法;通过`new Animal()`创建的`myAnimal`对象即可调用这些方法。面向对象编程通过类和对象模拟现实世界的实体及其关系,实现问题的结构化解决。