面向对象(封装代码解析)
2016-12-10 14:42
323 查看
例一: Boy类有姓名和女朋友的属性,有亲吻的行为
public class Boy {
Girl类有属性姓名,做出相应的反应行为
public class Girl {
}
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
}
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; }
}
相关文章推荐
- [扫盲]利用架构实例解析面向对象的封装,多态,继承,接口,泛型
- 架构实例解析面向对象的封装,多态,继承,接口,泛型
- JS中封装解析xml的代码,以及实例应用
- JavaScript面向对象——封装及相关原理解析
- 由mybatis的逆向工程看如果使用封装代码(深入理解java面向对象的思维逻辑)
- C#基础知识复习1代码规范-执行流程(c#)-面向对象-引用命名空间-封装-继承-访问修饰符-虚方法-静态成员-多态-抽象类等
- 黑马程序员——黑马学习日志之五 面向对象,类,函数,匿名对象,封装,构造函数,this,代码块
- win32学习之 -------- 面向对象的窗口类封装 代码记录
- 利用架构实例解析面向对象的封装,多态,继承,接口,泛型
- python解析xml模块封装代码
- 面向对象封装分页代码
- Java 面向对象的三大特征:继承、封装【隐藏】、多态<为了适应需求的多种变化,使代码变得更加通用>
- python解析xml模块封装代码
- 面向对象(继承代码解析)
- 用面向对象的方式封装javascript代码
- python解析xml模块封装代码
- 【代码学习】PHP面向对象之封装与继承
- JS面向对象三:js的多态特性解析与代码实现