面向对象设计思想的要点: 认为客观世界由各种对象组成 程序的分析和设计都围绕着: 有哪些对象类; 每个类都有哪些属性、哪些方法; 类之间的关系(继承,关联等) 对象之间发送消息(调用方法) 封装: 模块化:将属性和行为封装到类中,程序定义很多类 信息隐蔽:将类的细节部分隐藏起来,用户只通过受保护的接口访问某个类 class Person{ private int age; public int getAge(){ return age; } public void setAge(int a){ age=a;} String name; void sayHello(){…} } 继承: 继承性: 父类和子类之间共享数据和方法 继承的好处: 更好的进行抽象与分类、增强代码的重用率、提高可维护性 class Person{ int age; 父类: String name; void sayHello(){…} } class Student extends Person{ String school; 子类: double score; void meetTeacher(){ … } } 多态性: 多态: 不同的对象收到同一个消息(调用方法)产生完全不同的效果 实现的细节则由接受对象自行决定 例 foo( Person p ){ p.sayHello(); } foo( new Student() ); foo( new Teacher() ); 两者的区别:
一、从概念方面来说
基本数据类型:变量名指向具体的数值
引用数据类型:变量名指向存数据对象的内存地址,即变量名指向hash值
二、从内存构建方面来说
基本数据类型:变量在声明之后java就会立刻分配给他内存空间
引用数据类型:这类变量声明时不会分配内存,只是存储了一个内存地址。
三、从使用方面来说
基本数据类型:使用时需要赋具体值,判断时使用“==”号
引用数据类型:使用时可以赋null,判断时使用equals方法