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){//通过参数个数区分
 
    }
}

相关文章
|
2天前
|
Java
Java面向对象(二)
Java面向对象(二)
|
2天前
|
安全 Java
JAVA反射:如何在运行时“创造”你的对象?
【7月更文挑战第1天】Java反射机制允许在运行时动态创建对象,常用于插件系统和框架开发。与`new`关键字相比,反射提供更大的灵活性,能根据条件决定对象类型,但牺牲了性能和代码可读性。示例展示了如何通过`Class.forName()`和`Constructor.newInstance()`创建对象,过程中需处理异常。反射还可访问私有成员,增加安全风险,故使用时需谨慎。
8 2
|
2天前
|
Java 编译器
Java面向对象(三)详解: 封装 | 继承 | 方法重写 | 抽象类
Java面向对象(三)详解: 封装 | 继承 | 方法重写 | 抽象类
|
2天前
|
Java
Java面向对象 ( 多态 | final关键字 | 接口 )
Java面向对象 ( 多态 | final关键字 | 接口 )
|
2天前
|
Java 关系型数据库 开发者
Java中的面向对象设计原则与实践
Java中的面向对象设计原则与实践
|
2天前
|
Java
Java面向对象知识总结+思维导图
Java面向对象知识总结+思维导图
|
2天前
|
Java
深入理解Java中的类与对象:封装、继承与多态
深入理解Java中的类与对象:封装、继承与多态
|
9天前
|
Java
Java中,有两种主要的方式来创建和管理线程:`Thread`类和`Runnable`接口。
【6月更文挑战第24天】Java创建线程有两种方式:`Thread`类和`Runnable`接口。`Thread`直接继承受限于单继承,适合简单情况;`Runnable`实现接口可多继承,利于资源共享和任务复用。推荐使用`Runnable`以提高灵活性。启动线程需调用`start()`,`Thread`直接启动,`Runnable`需通过`Thread`实例启动。根据项目需求选择适当方式。
21 2
|
8天前
|
Java 机器人 关系型数据库
Java中的类与接口:抽象与实现的艺术
Java中的类与接口:抽象与实现的艺术
|
2月前
|
安全 Java 调度
Java一分钟:多线程编程初步:Thread类与Runnable接口
【5月更文挑战第11天】本文介绍了Java中创建线程的两种方式:继承Thread类和实现Runnable接口,并讨论了多线程编程中的常见问题,如资源浪费、线程安全、死锁和优先级问题,提出了解决策略。示例展示了线程通信的生产者-消费者模型,强调理解和掌握线程操作对编写高效并发程序的重要性。
60 3