java中修饰符的作用范围和this关键字

来源:互联网 发布:手机淘宝如何合并付款 编辑:程序博客网 时间:2024/04/30 14:38

1.修饰符权限


2.JavaBean规范

Java语言写的可重用的组件(类)

1).字段必须使用private修饰   // 信息隐藏

2).类必须使用public修饰    //可重用

3).手动写构造函数时,必须先写一个空参空块的构造函数。

4).必须使用getter来获取字段的的值,使用setter给私有字段赋值

public String getterName()

{

return name;

}

public void setterName(String n)

{

name=n;

}

5).在JavaBean中有属性的概念:不是字段,是属性的操作方法,由getter和setter 决定。

3.this

1).用于构造器形参和字段名相同时,在字段前加this. 表示当前类的字段,如果不加,则采取就近原则,二者都表示形参的值。

public void setterName(name){

this.name=name;

}

2).用于在方法内部调用同类中的其他方法时,在该调用的方法前加上this.  如果不加也表示该对象调用的该方法,但是可读性降低。


同类中方法调用

3)用于构造方法之间的互调,必须使用this,构造方法虽然属于方法,但是和普通方法不一样,在另一个构造方法中不能直接使用构造方法的方法名直接进行调用。


普通构造方法

可以执行,但是有代码的重复,使可维护性降低。//name的赋值代码写了两次;

解决办法:可以在一个构造方法中调用另一个构造方法


解决结果

但是,编译出错,找不到方法User()。

User(name);语句把User()当做一个普通的方法来调用,构造方法不能当作普通方法来调用,正确的调用方法如下:


正确调用构造器

注意:

由于在构造器互调是必须将this语句放在第一句话,所以一般使用少参的构造器调用多参的。正常调用如下:


少调多

4.setter和构造器二者的选择

1).需要更改时,且需要初始化多个值时,选用setter()赋值比较方便,直观

2).仅仅是赋值时,构造器比较简单,但是,需要根据数值来确定对象是选用构造器的方式(eg: 圆类,需要根据半径来确定圆)

其他时候,任意选。

谢谢阅读!

原创粉丝点击