Java面向对象 ( 类与对象 | 构造方法 | 方法的重载 )

简介: Java面向对象 ( 类与对象 | 构造方法 | 方法的重载 )

前言:本篇文章是Java面向对象系列(一),我们将开启一段新的旅程,学习一种新的编程思想,在第     一篇我们会介绍到 类与对象的概念和关系 | 什么是构造方法 | 方法的重载  来吧~上船!启航!

                      面向过程与面向对象

  • (二者的区别与关系):面向过程和面向对象都是语言设计思想,面向过程POP是具体的步骤,是早期的编程语言设计思想,结构简单,扩展能力差,后期维护难度较大;面向对象OOP,面向对象设计序 时,从宏观上分析程序有哪些功能,然后对功能进行分类,把不同的功能封装在不同的类中,是一种宏观的设计,但到具体实现,仍然离不开面向过程。

                                  类与对象

什么是类?

•  具有相同特征(同一类)事物的抽象描述,如人类,车类,学生类等等。

类的结构?

  • 变量事物属性的描述(名词)
  • 方法事物的行为(可以做的事情 动词)
  • 构造方法:初始化对象
  •  一段没有名称的代码块
  • 内部类:即在类体中声明的类

如何写一个类?

  • 第一步----发现类
  • 第二步----定义类的成员变量
  • 第三步----定义类的成员方法
  • 第四步----使用类创建对象

什么是对象?

•  对象是类的实例,以类为模版,在内存中创建出一个实际存在的实例 ;

  ( 对象是类的具体,是实际存在的, 可使用的 )

如何创建对象?

•  使用new关键字,   类的类型  对象名 = new 类名();

//类的类型(Student类型)  对象名 = new 类名(Student); 
Student student = new Student();//创建一个学生对象

                               类的构造方法

分类:

●  构造方法分为 无参构造方法 有参构造方法

特点:

●  在一个类中可以有多个构造方法 ( 构造方法可以重载 ).

方法名与类名相同,没有返回值,且不需要void修饰

●  如果一个类没有定义构造方法,Java会提供一个默认的无参构造方法。如果一个类定义了构造       方法,Java将不会提供默认构造方法。

●  构造方法在使用new关键字实例化对象时自动调用。

作用:

●  构造方法的作用是初始化对象的状态,可以在构造方法中为对象的实例变量赋初值。

代码演示:

public class Student {
 
    String name ;
    int age;
    String gender;
    //无参构成方法
    public Student(){
        name = "小张";
        age = 18;
        gender = "男";
        System.out.println(name+age+gender);
    }
    //有参构成方法
    public Student(String name,int age,String gender){
        this.name=name;
        this.age=age;
        this.gender=gender;
        System.out.println(name+age+gender);
    }
 
 
    public static void main(String[] args) {
    // 使用构造方法创建对象,并初始化
        Student student = new Student();//调用无参构造方法
        Student student1 = new Student("小魏",20,"女");//调用有参构造方法
    }
}


                                方法的重载

重点:

•  在一个类中有多个名称相同的方法,如何在调用时区分同名的方法

  通过方法的参数的个数类型顺序

•  方法的重载与返回值类型无关

○ 代码演示:

public class Student {
    
    String name ;
    int age;
    String gender;
    //有参构成方法的重载
    public Student(String name,int age,String gender){
        
    }
    public Student(int age,String name,String gender){//通过参数顺序区分
 
    }
    public Student(String name,int age){//通过参数个数区分
 
    }
}

相关文章
|
1月前
|
人工智能 安全 Java
Java并发包下Atomic相关类的使用
本文介绍了 `java.util.concurrent.atomic` 包下的各类原子类及其使用场景,包括基本类型原子类(如 `AtomicInteger`、`AtomicLong`)、数组类型原子类(如 `AtomicIntegerArray`)、引用类型原子类(如 `AtomicReference`)、对象属性修改原子类(如 `AtomicIntegerFieldUpdater`)以及原子操作增强类(如 `LongAdder` 和 `LongAccumulator`)。同时,详细对比了不同原子类在高并发场景下的性能表现,展示了 `LongAdder` 的高效性。
86 31
|
1月前
|
存储 安全 Java
【高薪程序员必看】万字长文拆解Java并发编程!(7):不可变类设计指南
🌟 ​大家好,我是摘星!​ 🌟今天为大家带来的是并发编程中Java不可变类设计指南,废话不多说让我们直接开始。
37 0
|
2月前
|
Java 数据安全/隐私保护
Java 类和对象
本文介绍了Java编程中类和对象的基础知识,作为面向对象编程(OOP)的核心概念。类是对象的蓝图,定义实体类型;对象是具体实例,包含状态和行为。通过示例展示了如何创建表示汽车的类及其实例,并说明了构造函数、字段和方法的作用。同时,文章还探讨了访问修饰符的使用,强调封装的重要性,如通过getter和setter控制字段访问。最后总结了类与对象的关系及其在Java中的应用,并建议进一步学习继承等概念。
|
搜索推荐 Java
Java的面向对象特性主要包括封装、继承和多态
【4月更文挑战第5天】Java的面向对象特性主要包括封装、继承和多态
91 3
|
Java 程序员 编译器
【详识JAVA语言】面向对象程序三大特性之二:继承
【详识JAVA语言】面向对象程序三大特性之二:继承
106 2
|
Java 开发者
Java 面向对象新视界:揭秘子类如何“继承”父类精华,再添“创新”之笔
【6月更文挑战第16天】在Java的面向对象世界,子类继承父类的特性,如`Circle`继承`Shape`,展示“is-a”关系。子类不仅保留父类的`color`和`display`方法,还添加了`radius`属性及定制的显示逻辑。这种继承与创新允许代码复用,增强灵活性和可扩展性,使得构建复杂系统变得更加高效和模块化。通过持续的继承与定制,开发者能构建出一系列独具特色的类,充分展现面向对象编程的力量。
193 57
|
11月前
|
Java 编译器
Java面向对象(三)详解: 封装 | 继承 | 方法重写 | 抽象类
Java面向对象(三)详解: 封装 | 继承 | 方法重写 | 抽象类
170 2
|
Java 数据安全/隐私保护 开发者
Java是一种完全支持面向对象编程的语言,其面向对象特性包括封装、继承、多态和抽象等
【6月更文挑战第18天】**面向对象编程(OOP)通过对象封装状态和行为,实现问题域的抽象。Java全面支持OOP,核心特性包括**: - **封装**:保护数据安全,隐藏内部细节。 - **继承**:子类继承父类属性和行为,促进代码重用。 - **多态**:一个接口多种实现,增强灵活性和扩展性。 - **抽象**:通过接口和抽象类抽离共性,简化复杂性。 **Java的OOP便于理解和解决复杂系统问题。**
132 3
Java面向对象特征(二)----- 继承
Java面向对象特征(二)----- 继承
Java面向对象特征(二)----- 继承
|
12月前
|
Java 数据安全/隐私保护
Java基础手册二(类和对象 对象创建和使用 面向对象封装性 构造方法与参数传递 this关键字 static关键字 继承 多态 方法覆盖 final关键字 访问控制权限修饰符)
Java基础手册二(类和对象 对象创建和使用 面向对象封装性 构造方法与参数传递 this关键字 static关键字 继承 多态 方法覆盖 final关键字 访问控制权限修饰符)
92 0