Java面向对象之构造方法

384 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

方法重载 Overload

1.概念: 一个类中的一组方法  相同的方法名字  不同的参数列表  构成了方法重载
           参数的不同体现在  参数的个数  参数的类型  参数的顺序 三个方面
2.作用: 为了便于记忆和调用 使得方法调用时更加的灵活
3.自己也可以设计方法重载
	调用的时候 先通过方法名字来定位
	名字一致 通过参数列表的数据类型来定位
	方法返回值  修饰符--->跟方法重载没什么关系
4.JDK1.5之后  新的写法  动态参数列表 ...
	参数类型固定  参数的个数可以动态  0-n
	使用起来类似与数组的使用   length  index		
	int[]... x		int[][]  x
	动态参数列表的方法   对应匹配的数组类型的方法不能构成重载(本质是一样)
	动态列表的方法可以不传递参数0个   数组的方法必须传递
	动态参数列表在方法的参数中只能存在一份  且放置在参数的末尾

利用类来描述现实生活中的事情

利用对象去具体的执行操作
类的内部成员Person
   2.属性---静态描述类的特征(变量 存值)  name
   1.方法---动态描述类的行为(做事情)      eat
   3.构造方法---用来创建当前类的对象(方法 很特殊)
   4.程序块(代码块)---理解为就是一个方法(非常特殊的  无修饰符无参数无返回值无名字)

构造方法

1.作用: 只有一个 构建(构造)当前类的对象
2.写法:       权限修饰符  与类名一致的方法名 (参数列表) [抛出异常]{
		一件事情  创建一个对象(当前类Person)
		返回对象;
	 }
3.用法: 通过new关键字调用
4.特点: 
	1.每一个类都有构造方法,若自己在类中没有定义,系统会默认提供一个无参数的构造方法
	   若在类中自己定义了构造方法,则默认无参数的构造方法即被覆盖
	2.构造方法是否存在方法重载?----存在构造方法重载
5.每一个类都有构造方法
   若不定义 系统会默认提供构造方法
   为什么要定义构造方法? 什么时候需要设计构造方法?
   在创建对象的同时 想要一并做一些事情  默认提供的构造方法是不会做的
   这个时候我们可以自己定义构造方法(无参数的构造方法内做事  也可以定义带参数的)
类的第四个成员---程序块(代码块)
1.作用: 跟普通方法一样 做事情的
2.写法: 可以认为程序块是一个  没有修饰符 没有参数 没有返回值 没有名字的特殊方法
	{
	}
3.用法: 块也需要调用才能执行 我们自己调用不到(没有名字)
	每一次我们调用构造方法之前   系统会帮我们自动的调用一次程序块 让他执行一遍
4.特点: 没有什么重载的概念(压根连名字都没有 连参数都没有)
	但是可以在类中定义 多个程序块
5.块可以在里面写一些程序   我想要在创建对象之前执行
    构造方法中 属性与变量重名 必须需要一个代替词 代替对象
    

53150be64817685ea8bef82bee495b8.png