您的位置:首页 > 编程语言 > Java开发

java三大特性:(一)封装

2017-11-22 17:31 148 查看

方法的重载

方法名相同;参数列表不同。这称为方法重载。

可以通过构造方法的重载来实现多种初始化行为。

在创建对象时可以根据需要选择合适的构造方法。

判断方法重载的依据:

必须在同一个类里。

方法名称相同。

参数列表(方法参数的个数或者参数类型)不同。

与方法返回值和方法修饰符没有任何关系。

这样也是可以的!!!!

public class sc {
public void sd(int i,String s){

}
public void sd(String s,int i){

}
}


static修饰符

static可以修饰属性、方法和代码块。

通常把static修饰的属性和方法称为类属性(类变量)和类方法。

不使用static修饰的属性和方法称为实例属性(实例变量)和实例方法。

在加载类的过程中,先完成静态变量的内存分配,再执行静态代码块,两者是在创建对象之前执行。

类属性和类方法可以通过类名和对象名访问,实例属性和实例方法只能通过对象名访问

类方法只能访问类属性和其它类方法。

类变量不能是局部变量。

静态方法名不能使用this和super关键字。

封装特性

采用private修饰符的变量不能再类外部访问。而是通过public修饰的setter和getter方法访问,通过在setter方法中编写相应寻去控制语句可以避免出现不符合实际需求的赋值。

public class DogStrongen {
private String name="无名氏";
private int health=100;
private int love=0;
private String strain="聪明的拉布拉多犬";
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getHealth() {
return health;
}
public void setHealth(int health) {
if(health>100||health<0){
this.health=40;
System.out.println("健康值应该在0到100之间,默认值为40");
}else{
this.health = health;
}

}
public int getLove() {
return love;
}
public void setLove(int love) {
this.love = love;
}
public String getStrain() {
return strain;
}
public void setStrain(String strain) {
this.strain = strain;
}
public void print(){
System.out.println("宠物的自白:\n我的名字叫"+this.name+",健康值是:"+this.health+",和主人的亲密度是"+this.love+",我是一只"+this.strain+"。");
}
public static void main(String[] args) {
DogStrongen dog=new DogStrongen();
dog.setName("偶偶");
dog.setHealth(300);
System.out.println("昵称是"+dog.getName());
System.out.println("健康值是"+dog.getHealth());
dog.print();
}
}


权限控制符:

private:成员变量和方法只能在其定义的类中被访问,具有类可见性。

默认:成员变量和方法只能被同一个包里的类访问,具有类可见性。

protected:可以被同一个包中的类访问,被同一个项目中不同包中的子类访问。

public:可以被同一颗项目中的所有类访问,具有项目可见性,最大的访问权限。

this关键字:

this关键字是一个默认的引用,在每个实例方法内部,都有一个this引用变量,指向调用的这个方法的对象。

使用this调用成员变量,可以解决成员变量和局部变量的同名冲突。

使用this调用成员方法。

使用this调用重载的构造方法,只能在构造方法中使用,,但必须是构造方法的第一条语句。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: