面向对象——对象和类

2022-10-25 17:55:31 浏览数 (2)

面向对象——对象和类

类和对象是我们java包中不可缺少的部分

我们在一个包中常常只包含一个main方法,其他部分均为类,为main提供服务

面向对象和面向过程

要了解面向对象,同时应该明白面向过程的意义:

  • 面向过程:步骤清晰,第一步该做什么,第二步该做什么... ​ 面向过程适合于处理简单的问题
  • 面向对象:物以类聚,分类的思维模式,将整体分类,再逐个思考 ​ 面向对象适合于处理复杂的问题

对于描述复杂的事物,应该先用面向对象进行分类,再对分类出来的各小部分面向过程

什么是面向对象

面向对象编程(OOP)的本质:以类的方式组织代码,以对象的方式组织数据。

面向对象具有抽象的含义:类就是抽象的部分。

面向对象三大特征:

  • 封装
  • 继承
  • 多态

面向对象的认识:

  • 认识学:先有对象后有类;对象是具体的物体,类是对对象的抽象
  • 代码:先有类后有对象;类是对象的模板,对象是由类构建出来的

类和对象

类中只包含属性和方法

类中所有属性都有默认初始值,数值类为0,其他类型为null

类的构建:

代码语言:javascript复制
public 类名(){
    ...
    属性
    ...
    方法
    ...
}

例子:

代码语言:javascript复制
public class Student {

    //属性:
    String name;//默认为null
    int age;//默认为0

    //方法:
    public void say(){
        System.out.println("i am saying");
    }
}

类的this指当前对象的属性:

代码语言:javascript复制
this.属性

通过一个类构建的对象可以有多个

对象的构建:

代码语言:javascript复制
public class application {
    public static void main(String[] args) {
        类名 对象名 = new 类名();
    }
}

对象的调用:

代码语言:javascript复制
对象名.属性/方法

构造器详解

一个类被创建,系统自动赋予无参构造器

无参构造器:

代码语言:javascript复制
public 类名(){
    
}

例子:

代码语言:javascript复制
public class Person {
    String name;

    //系统默认:
    public Person(){

    }
}

可在无参构造器中定义属性的初始值:

代码语言:javascript复制
public Person(){
	this.name = "小明";
}

可构造有参构造器在main方法中自定义内容:

代码语言:javascript复制
 public Person(String name){
        this.name = name;
}
代码语言:javascript复制
Person person2 = new Person("xiaolei");

构造器的功能:

  • 使用new关键字,实际是调用类中的构造器
  • 可以实例化初始值

注意:

  • 一旦定义了有参构造,相当于顶替了无参构造,若还想使用无参构造,必须手动再次书写无参构造

idea生成构造器快捷键:

  • Alt Insert

结束语

关于类和对象的简单介绍就到这里,希望帮助大家理解

0 人点赞