一 类和对象之间的关系:
类是事物的描述
1.类是Java
程序的核心,它定义了对象的形状和本质,可以用类来创建对象。当使用一个类创建了一 个对象时,通常说给出了这个类的一个实例
2.类由类声明和类体构成,一般命名方法为:首字母大写,大写字母分词,例如XueSheng
class className {类体;}
3.类包含数据成员(
数据、属性
)
和成员方法(函数)。一般建议数据成员应该是通过函数
(
方法
)
访问的
4.对象是类的实例,就是应用中定义的某个类的变量,例如Person p=new Person(); p
就是对象
5.类是和问题域相关的具有相同属性和行为的对象的抽象;对象是该类事物的实例,在Java
中通过 new来创建的
基本规则
1
、了解业务需求,查找具体的研究目标:对象
2
、使用抽象的方法将具体的研究目标转换为新的数据类型定义:类
// 一个文件中可以定义无数个类,但是只能有一个 public class ,而且公共类的名称必须和文件名称一致public class Student {// 数据成员private Long id ; // 学生编号private String name ; // 姓名private double high ;// 成员方法public void 吃饭 (){high += 0.1 ;}}class Teach {} // 非公共类public class Test1 {public static void main ( String [] args ){Student s1 = new Student ();s1 . 吃饭 ();}
二 封装
在面向对象程式设计方法中,封装
Encapsulation
是指一种将抽象性函式接口的实现细节部分包装、隐藏 起来的方法。
1. 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问
反射机制
2.要访问该类的代码和数据,必须通过严格的接口控制。
3.封装最主要的功能在于能修改自己的实现代码,而不用修改那些调用代码的程序片段
4.适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。
// 第一步是确定研究的目标对象 --- 可以区分的独立个体// 需要方法和属性class Student {// 成员属性 --- 静态特征的描述private boolean sex ; // 一般使用私有属性,共有的 get/set 方法// 成员方法 --- 提供的功能描述public boolean getSex (){return this . sex ;}// 不允许修改 sex ,所以不提供 set 方法protected void setSex ( Boolean sex ){ // 如果在特殊情况下允许修改 , 可以使用范围限定词进行表示this . sex = sex ;}}// 构建对象Student s1 = new Student ();s1 . setSex ( true );s1 . setSex ( false ); // 是否允许取绝于限制
三 封装有三大好处
1. 良好的封装能够减少耦合
2.类内部的结构可以自由修改
3.可以对成员进行更精确的控制 隐藏信息,实现细节
四 4个关键字
用于进行访问控制
// 一个文件种可以定义无数个类,但是只能有一个 public class 公共类public class Student { // 类的范围限定词分为 2 种情况。外部类的范围限定词可以使用无范围限定词和 public 两种;而内部类上可以使用 4 种范围限定// 成员属性 , 类种包含哪些静态特征取决于问题本身private Long id ; //private 只能在当前类中直接访问protected String name ; //protected 可以在同包或者子类中直接访问int age ; // 没有范围限定词,默认或者 package 限定词,只能在同包中直接访问public double salary ; //public 到处可见// 一般规则是私有属性,共有的 get/set 方法}
记忆的方法
类定义规则:要求类内高内聚,类间弱耦合
封装确实可以使容易地修改类的内部实现,而无需修改使用了该类的客户代码