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

面向对象(封装代码解析)

2016-12-10 14:42 323 查看
例一: Boy类有姓名和女朋友的属性,有亲吻的行为

public class Boy {

public String name;//姓名

public Girl myGirl;//has a关系(Girl是引用数据类型)

//  public void kiss(Girl myGirl){//use a关系(传一个Girl类型的形参)

public void kiss(){
System.out.println("亲爱的"+myGirl.name+",让我亲一个嘛");
myGirl.response();
}
}


Girl类有属性姓名,做出相应的反应行为

public class Girl {

public String name;

public void response(){
System.out.println("嗯~~~~好讨厌哦~~~");
}


}

main方法中测试

Boy wxb = new Boy(); //产生一个Boy对象

Girl shuangEr = new Girl(); //产生一个Girl对象

shuangEr.name = “双儿”; //当设置对象的属性时,需要该对象的变量名加点的方式去调该类public的属性

wxb.myGirl = shuangEr; //必须给男孩对象的女朋友属性附一个女孩对象,不然男孩kiss时myGirl.response()会报NullPointerException(空指针异常)。

wxb.kiss(); //对象的变量名调public的方法

最后控制台输出:

亲爱的双儿,让我亲一个嘛~~

嗯~~好讨厌哦~~~

例二:Student类(属性、构造器、行为)

//class是关键字,表明定义一个类

//public是访问修饰符,代表在哪里可以访问使用这个类

//细节:如果一个类是public的,那么类名必须和java文件名保持一致;

// 一个类一篇class文件,class文件的名字只和类名相关

public class Student {

//属性—会被自动初始化、基本数据类型为0,引用数据类型为null

private String name;//变量属性是私有的,并提供符合命名规范的get/set方法

private int age = 18;

private int score;

public final String CLASS_NAME = "J134";//常量属性final修饰,变量名大写下划线分隔

//构造方法--(必须要有公共无参构造)-作用:产生对象
//语法:1、方法名必须与类名保持一致;2、构造方法没有返回类型;
//构造方法的执行步骤:1、划分空间;2、在该空间划分属性;
//                  3、对属性进行初始化;4、执行我们在构造方法里面书写的代码
//细节:1、如果一个类没有写构造,JVM会给它一个默认的公共无参构造
//     2、一旦开发人员书写了一个构造方法,不会提供默认构造了

public Student(String name, int age, int score) {
//this指代当前对象
this.name = name;
}

//行为
public void study(int num){
for(int i = 0; i < num; i++){
System.out.println(this.name + "说:Good Good Study,Day Day Up!");
}
}
//访问器(可以设置外部访问权限,例如加 if 条件)
public String getName() {
return name;
}
//修改器(可以设置外部修改有效性验证,例如加if条件)
public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

public int getScore() {
return score;
}

public void setScore(int score) {
this.score = score;
}


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  面向对象