Java类和对象

简介: Java类和对象

一、什么是面向对象?

       面向对象是一种现在最为流行的程序设计方法,面向对象程序设计是要进行子模块化的设计,每一个模块都需要单独存在,并且可以被重复利用,每一个模块都可以称为一个对象,而面向对象解决问题,就是通过对象与对象互相交互完成。相对于面向过程对于大型程序的维护,修改,扩展更加的简单方便,所以,面向对象的开发更像是一个具备标准的开发模式。(两者没有好坏之分,都有专门的应用场景)


二、类与对象的基本概念

1.类

       类是构造对象的模板,是一个抽象的概念集合,是一个相同特性的产物(比如一个猫类,狗类......),对象是通过类而构造。构造对象的过程成为创建类的实例,也就是实例化一个对象。

2.对象

       面向对象世界中,一切皆为对象。对象是一个独立的个体(比如一个叫小花的猫,一个叫豆豆的狗......),每个对象都有自己的属性(三大主要特征:状态、行为、标识),通过不同属性区分不同对象。


三、类的定义格式

       在Java中定义一个类通过class关键词来完成。

       具体语法如下:

1. class ClassName{
2. //字段(属性)或 成员变量
3. //行为 或 成员方法
4. }

   class为定义类的关键词,ClassName为类的名字,{ }为类的主体。

       类中包含的内容称为类的成员。属性主要是用来描述类的,称之为类的成员属性或者类成员变量。方法主要说明类具有哪些功能,称为类的成员方法。

  我们可以定义一个类:

class WashMachine{
  public String brand;  // 品牌
  public String type;   // 型号
  public double weight;  // 重量
  public double length;  // 长
  public double width;  // 宽
  public double height;  // 高
  public String color;  // 颜色
  public void washClothes(){  // 洗衣服
    System.out.println("洗衣功能");
 }
  public void dryClothes(){   // 脱水
    System.out.println("脱水功能");
 }
  public void setTime(){    // 定时
    System.out.println("定时功能");
 }
}

注意:

  • 类的名字要采用大驼峰定义。首字母大写。
  • 成员前的写法统一为public,篇幅过大,后面文章会解释。


四、类与对象的定义与使用

1.什么是实例化

      定义了一个类,就相当于在计算机中定义了一种新的类型,与int,double类似,只不过int和double是java语言自带的内置类型,而类是用户自定义了一个新的类型,比如上述的WachMachine。它们都是类(一种新定义的类型)有了这些自定义的类型之后,就可以使用这些类来定义实例(或者称为对象)。

       用类类型创建对象的过程,就是类的实例化,在Java中使用关键词new,配合类名来实例化对象


2.实例化对象

       类定义完成之后,无法直接使用。如果要使用,必须依靠对象,对象的产生格式(两种格式)如下:

1.直接实例化对象

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

2.先声明对象,后实例化对象

1. 类名称 对象名称 = null ;
2. 对象名称 = new 类名称 () ;


3.类的使用

       当一个实例化对象产生之后,可以按照如下的方式进行类的操作:

       对象.属性:表示调用类之中的属性;

       对象.方法():表示调用类之中的方法。

       使用   .   来访问对象中的属性与方法。

举例:

class Dog{
    public String name;
    public int age;
    public String color;
    public void eat(){
        System.out.println(name + "吃东西");
    }
}
public class Test {
    public static void main(String[] args) {
        Dog dog = new Dog();//声明并实例化一个对象
        dog.name = "花花";   //操作属性内容
        dog.age = 1;        //操作属性内容
        dog.eat();          //操作类中eat()方法
    }
}

运行结果:

4dfbb71911c1449a92a040784bdf8cac.png


4.类与对象的说明

  • 类只是一个模型一样的东西,用来对一个实体进行描述,限定了类有哪些成员
  • 类是一种自定义的类型,可以用来定义变量.
  • 一个类可以实例化出多个对象,实例化出的对象 占用实际的物理空间,存储类成员变量
  • 类是一个类型,不占用内存,只有实例化出的对象才能实际存储数据,占用物理空间。


总结

       本次分享就此结束,感谢垂读!下次见!

目录
相关文章
|
1月前
|
设计模式 网络协议 数据可视化
Java 设计模式之状态模式:让对象的行为随状态优雅变化
状态模式通过封装对象的状态,使行为随状态变化而改变。以订单为例,将待支付、已支付等状态独立成类,消除冗长条件判断,提升代码可维护性与扩展性,适用于状态多、转换复杂的场景。
258 0
|
2月前
|
安全 Java 数据建模
Java记录类:简化数据载体的新选择
Java记录类:简化数据载体的新选择
230 101
|
2月前
|
安全 Java 开发者
Java记录类:简化数据载体的新方式
Java记录类:简化数据载体的新方式
282 100
|
3月前
|
安全 IDE Java
Java记录类型(Record):简化数据载体类
Java记录类型(Record):简化数据载体类
391 120
|
1月前
|
存储 Java 索引
用Java语言实现一个自定义的ArrayList类
自定义MyArrayList类模拟Java ArrayList核心功能,支持泛型、动态扩容(1.5倍)、增删改查及越界检查,底层用Object数组实现,适合学习动态数组原理。
85 4
|
1月前
|
IDE JavaScript Java
在Java 11中,如何处理被弃用的类或接口?
在Java 11中,如何处理被弃用的类或接口?
152 5
|
1月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
137 1
|
1月前
|
Java Go 开发工具
【Java】(8)正则表达式的使用与常用类分享
正则表达式定义了字符串的模式。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。
202 1
|
1月前
|
存储 Java 程序员
【Java】(6)全方面带你了解Java里的日期与时间内容,介绍 Calendar、GregorianCalendar、Date类
java.util 包提供了 Date 类来封装当前的日期和时间。Date 类提供两个构造函数来实例化 Date 对象。第一个构造函数使用当前日期和时间来初始化对象。Date( )第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。
143 1
|
1月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
157 1
下一篇
oss云网关配置