文章目录
前言
提示:这里只有冰冷的知识点,和博主冰冷又绝望的每日感言
一、封装
1.封装概述
封装可以被认为是⼀个保护屏障,防⽌该类的代码和数据被其他类随意访问。要访问该类的数据,必须通过指定的⽅式。适当的封装可以让代码更容易理解与维护,也加强了代码的安全性.
2.原则
将属性隐藏起来,若需要访问某个属性,提供公共方法对其访问。
3.封装的步骤
- 使⽤ private 关键字来修饰成员变量。
- 对需要访问的成员变量,提供对应的⼀对 getXxx ⽅法、 setXxx ⽅法。
4.封装的操作 – private关键字
private的含义
- private是⼀个权限修饰符,代表最⼩权限。
- 可以修饰成员变量和成员⽅法。
- 被private修饰后的成员变量和成员⽅法,只在本类中才能访问。
二、构造方法/构造器
2.1构造方法/构造器
1.名字与类名一样,默认修饰词为public(可不加)
2.作用:初始化成员变量
3.无返回值类型,void也不行
4.不写也是默认添加构造方法的
5.如果自定义含参构造方法,则无参构造方法不再自动生成
6.构造方法中调用成员方法可以不用this关键字
7.有参构造方法可以调用无参构造方法,反之亦然(要放在构造方法首行)。无参调有参this(object o1,object o2);有参调无参this();
8.构造⽅法是可以重载的,既可以定义参数,也可以不定义参数,多种定义形式.
9.是类就有构造方法(所以抽象类也有)
三、this关键字
3.1this关键词
1).this关键词,表示当前对象
2).在构造方法中,this是可以调用自己的成员变量
如果成员变量名和局部变量名,同名时
必须使用this关键词来表示成员变量,不能省略
※(调用自己的构造方法是this(),不是类名())
3).在构造方法中,可以调用自己的成员方法
this关键词可以省略
4).this也可以调用自己的构造方法,this(参数),this不能省略
注意:不能同时调用,会造成死循环,并且只能放在构造器的第一行使用
四、方法重载
方法重载:在同一个类,如果不加public static修饰词,则必须new该类的对象,然后类名.方法名( )调用
1.重载条件
1)传入参数个数不同
2)传入参数类型不同
3)传入参数顺序不同(int a,double b)(double a,int b)
4)和返回值类型没关系
⽅法重载:指在同⼀个类中,允许存在⼀个以上的同名⽅法,只要它们的参数列表不同即可,与修饰符和返回值类型⽆关。
2.方法重载前提
前提: 必须是在同一个类中才能造成方法的重载
参数列表:个数不同,数据类型不同,顺序不同。
重载方法调用:JVM通过⽅法的参数列表,调⽤不同的⽅法。
!!!!:构造方法也能重载!
3.重点
1)Java中static方法不能被重写,因为方法覆盖是基于运行时动态绑定的,而static方法是编译时静态绑定的。static方法类的任何实例都不相关,所以概念上不适用。
2)Java中也不可以重写private的方法,因为private修饰的变量和方法只能在当前类中使用,如果是其他的类继承当前类是不能访问到private变量或方法的,当然也不能覆盖。
五、引用类型数组(仅例子)
例子:
//静态赋值
//与数组静态赋值类似
Student[] stu={new Student(),new Student()};
//动态赋值
Student[] stu=new Student[3];//给Student类型数组(引用类型数组)初始化
sout(stu[0])//null输出的是地址
sout(stu[1])//null
sout(stu[2])//null
stu[0]=new Student();//不实例化stu[0]则会出现空指针异常,给数组元素初始化
stu[0].name=”www”;
sout(stu[0]);//www
六、标准代码JavaBean
JavaBean 是 Java语⾔编写类的⼀种标准规范。符合 JavaBean 的类,要求类必须是具体的和公共的,并且具有⽆参数的构造⽅法,提供⽤来操作成员变量的 set 和 get ⽅法。
总结
封装就是给他弄成private,封装相关的get,set方法IDEA可以比较便捷的编写,本文不再过多赘述,标准JavaBean代码一定要养成习惯,继承,this与super关键字的区别,抽象类等知识点在下文,累了,歇了