【JAVA】抽象和封装

来源:互联网 发布:php 分销提成计算公式 编辑:程序博客网 时间:2024/05/21 19:30

1、简述从现实世界中抽象出类的步骤。
1、发现类。
2、发现类的属性。
3、发现类的方法。
2、构造方法的作用和特点是什么?
答:构造方法的名称和类名相同,没有返回值类型。构造方法的主要作用就是在创建对象时执行一些初始化操作,例如给成员属性赋值。
3、什么是方法重载?
1、必须在同一个类里。
2、方法名相同。
3、参数列表(方法参数的个数和参数类型)不同。
4、与方法返回值和方法修饰符没有任何关系。
4、如何实现类的封装?
修改属性的可见性来限制对属性的访问。
为每个属性创建一对赋值(setter)方法和取值(getter)方法,用于对这些属性的存取。在赋值方法中,加入对存取的控制语句。
示例;private int age = 0; //年龄,修饰为私有的
//封装
publict int getAge(){ //取值方法
return age;
}

public int setAge(int age){ //赋值方法
//通过条件判断判断赋值是否合理
if(age>100||age<0){
age = 18;
}else{
this.age = age;
};
封装快捷键:ALT+SHIFT+S+R。
注意:
1、封装时如果属性的第二个字母大写,则按原名。
2、封装boolean类型的属性的,get方法以is开头,set不变,如果boolean类型的属性名以is开头,封装时会忽略属性名中的is。
封装的好处:
1、隐藏类的实现细节。
2、让使用者只能通过程序规定的方法来访问数据。
3、可以方法的加入存取控制语句,限制不合理操作。
5、this关键字。
指当前对象的引用。
示例:
//使用this调用成员变量,解决成员变量和局部变量的同名冲突
public void setName(String name){
this.name = name;
//成员变量和局部变量同名,必须使用this
};
//使用this调用重载的构造方法,只能在构造方法中使用,必须是构造方法的第一条语句。
public penguin(String name, String sex){
this.name = name;
this.sex = sex;
};

public Penguin(String name, String sex, int love , int health){
this(name,sex); //调用重载的构造方法
this.health=health;
this.love=love;
};
注意:
1、因为this在对象内部指代自身的引用,所以this只能调用实例变量、实例方法。
2、this不能调用类变量和类方法,也不能调用局部变量。

0 0
原创粉丝点击