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

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值