方法重载:相同的方法有不同的表现形态
在同一个类中,定义多个方法,满足以下条件构成方法重载
1.在同一个类中
2.方法名相同
3.参数列表不同(参数数量不同/参数类型不同)
4.和返回值类型无关
方法重载特点:
1.重载仅作于方法的定义,与方法的调用无关
2.重载仅针对同一个类中方法的名称和参数进行识别,与返回值无关,不可通过返回值来判断方法是否构成重载
方法重载的好处:同一个功能的方法,可以满足不同的需求
可变参数:等同于数组
格式:
数据类型...变量名
注意:
1.同一个方法定义上,不能有多个可变参数
2.可变参数之后不能再有参数
面向对象OOP
类:一组具有共同属性和行为的抽象(泛指),看不到摸不着
对象:客观存在的事物(实体,实例),看的见摸得着
类和对象之间的关系:类是对象的集合,对象是类的实例
现实生活中的关系:先有对象,再有类
java 中的关系:先有类,再有对象
类的创建:
属性:成员变量(方法外,类中定义的变量)
行为:成员方法(没有static的方法)
创建格式:
public class 类名{
属性
行为
}
对象的创建:
格式:
类名 对象名 = new 类名();
注意:类是对象的数据类型
对象的使用:
使用属性:
格式:
对象名.成员变量
使用行为:
格式:
对象名.成员方法
局部变量和成员变量
区别:
类中位置不同 类中方法外 方法内或者方法声明上(形参)
内存中位置不同 堆内存 栈内存
生命周期不同 随着对象存在而存在,随着对象的消失而消失 随着方法的调用而存在,随着方法的调用完毕而消失
初始值不同 系统分配默认值 没有默认的初始值,必须先定义,赋值,在使用(想使用必须初始化)
注意:
变量的调用方式:就近原则
作用范围:变量定义在哪个{}中,作用范围就在哪个{}
this:表示当前类的对象
在类中
this修饰 的变量指成员变量
局部变量如果与成员变量同名,不带this修饰的就是局部变量
局部变量如果不与变量名同名,不带this修饰的就是成员变量‘
注意:当局部变量隐藏成员变量时使用this
局部变量和成员变量同名时使用this
private:权限修饰符
修饰成员变量/成员方法
只能 在当前类中使用(私有化)
是一个权限修饰符
可以修饰成员变量和成员方法
作用是保护成员不被别的类使用,被private修饰的成员只能在本类中才能访问(private修饰的 只能当前类使用)
被private修饰的成员变量,如果要被别的类使用,提供相应的相应的操作
提供get变量名()方法,用于获取成员变量的值,用public 修饰
提供set变量名()方法,用于设置成员变量的值,用public 修饰
封装:隐藏类的内部细节
1.使用private修饰成员变量
2.提供与之对应的get/set方法
封装的原则:
将类的某些信息隐藏咋类的内部,不允许外界直接调用,而是通过该类提供的方法实现对隐藏信息的操作和访问(get .set)
优点:
通过方法控制成员变量,提高了代码的安全性
把代码进行封装,提高了代码的复用性
构造:特殊的方法
作用:完成对象的初始化,用来创建对象
格式: public 类名(参数){方法体;}
注意:
1类中默认隐藏一个无参构造
2.手动创建构造,会把默认的无参构造覆盖
3.无参构造一定要存在