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

例一: 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;
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值