封装可以被认为是⼀个保护屏障,防⽌该类的代码和数据被其他类随意访问。要访问该类的数据,必须通过指定的⽅式。适当的封装可以让代码更容易理解与维护,也加强了代码的安全性.
将属性隐藏起来,若需要访问某个属性,提供公共方法对其访问。
private的含义
1.名字与类名一样,默认修饰词为public(可不加)
2.作用:初始化成员变量
3.无返回值类型,void也不行
4.不写也是默认添加构造方法的
5.如果自定义含参构造方法,则无参构造方法不再自动生成
6.构造方法中调用成员方法可以不用this关键字
7.有参构造方法可以调用无参构造方法,反之亦然(要放在构造方法首行)。无参调有参this(object o1,object o2);有参调无参this();
8.构造⽅法是可以重载的,既可以定义参数,也可以不定义参数,多种定义形式.
9.是类就有构造方法(所以抽象类也有)
1).this关键词,表示当前对象 2).在构造方法中,this是可以调用自己的成员变量 如果成员变量名和局部变量名,同名时 必须使用this关键词来表示成员变量,不能省略 3).在构造方法中,可以调用自己的成员方法 this关键词可以省略 4).this也可以调用自己的构造方法,this(参数),this不能省略 注意:不能同时调用,会造成死循环,并且只能放在构造器的第一行使用
方法重载:在同一个类,如果不加public static修饰词,则必须new该类的对象,然后类名.方法名( )调用
1)传入参数个数不同 2)传入参数类型不同 3)传入参数顺序不同(int a,double b)(double a,int b) 4)和返回值类型没关系
⽅法重载:指在同⼀个类中,允许存在⼀个以上的同名⽅法,只要它们的参数列表不同即可,与修饰符和返回值类型⽆关。
前提: 必须是在同一个类中才能造成方法的重载
参数列表:个数不同,数据类型不同,顺序不同。
重载方法调用:JVM通过⽅法的参数列表,调⽤不同的⽅法。
!!!!:构造方法也能重载!
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 是 Java语⾔编写类的⼀种标准规范。符合 JavaBean 的类,要求类必须是具体的和公共的,并且具有⽆参数的构造⽅法,提供⽤来操作成员变量的 set 和 get ⽅法。
封装相关的get,set方法IDEA可以比较便捷的编写,本文不再过多赘述,继承,this与super关键字的区别,抽象类等知识点在下文,累了,歇了