第三章:面向对象编程上(封装)

来源:互联网 发布:linux网桥详解 编辑:程序博客网 时间:2024/06/08 05:45

 

1. 面向对象的设计思想

 

2. 现实世界中的实体,事物(对象)和对一类事物的概括,抽象(类)
   某台电脑          --> 实体           --> 对象
   头脑对电脑的描述  -->一类事物的概括  --> 类
   对某一类型事物进行概括时,关注它的特征和行为
   尺寸,颜色,屏幕大小,品牌...   --> 特征 --> 属性
   开机,关机,运行程序...      --> 行为 --> 方法

 

3. Java面向对象的编程中,使用Java语言来表达现实中的事物和事物的概括
  对象(Object),实际存在的事物。对象是类的实例(instance)。
  类(Class),对一类型对象的概括。类就是对象的模板。
  
4. 程序开发人员主要任务就是封装类,利用类创建出对象,执行对象的方法来完成任务。

 

5. 在对某一类型的事物进行概括时,需要使用抽象的方式来关注与主题相关的内容,忽略与主题无关的内容。

 

6. 封装类:对某一类型事物的特征(属性)和行为(方法),使用抽象的方式,用Java语言写成一个程序单元。这个程序单元就是我们常说的类。


7. Java语言中声明一个类的语法:
   访问控制符 [修饰符] class 类名{
       //类的主体,类体
       属性的声明;  //访问控制符 [修饰符] 数据类型 变量名 [=值];
      
       //作用:创建对象,并对属性进行初始化
       //声明语法:访问控制符 类名(形参列表){ //构造体; }
       构造方法;
      
       方法的声明;
     //访问控制符 [修饰符] 返回值类型 方法名(形参列表){ //方法体; }
   }
  
 8. 声明类类型的变量: 类类型 变量名;
    用new关键字调用构造方法来创建对象。
    这两步一起完成:类类型 变量名 = new 构造方法(实参列表);
   
 9. 访问对象的属性和方法:
    访问属性:对象变量名.属性;   //有访问权限的情况下
    访问方法:
      实例方法:对象变量名.方法(实参列表);
      类方法:被static修饰的方法.也叫静态方法。
        类名.方法(实参列表);  //对象变量名.方法(实参列表);
   
 10.构造方法:如果没有给一个类提供任何构造方法,编译器编译时会自动添加一个无参的构造方法。如果类中提供了一个构造方法,编译器就不再为这个类提供默认的构造方法了。
   无参构造方法:也叫默认构造方法
   有参构造方法:
   
 11. 方法重载(Overload):同一个类中的多个方法,方法名相同,参数列表不同,这就构成了重载。
  不能根据返回值类型和访问控制符来判断方法的重载。
  方法重载的作用:方便使用者的使用。提供程序的可用性。
 
 12. this关键字,每个非静态方法中隐含一个this变量,this变量代表当前对象的引用。
    this的用法:
    1) 在方法中显式调用本类的成员。在方法的参数跟成员属性同名用得最多。 this.xxx; this.xxx(..);
    2) 在构造方法的第一句显式调用本类的其它构造方法。
      this(...);
 
 13. 方法的参数传递:在Java语言中,只有传值调用。没有传引用调用。
 
 14. static关键字
   1) static修饰属性:静态属性,类属性。类的所有对象共享这一个属性
   2) static修饰方法:静态方法,类方法。类的所有对象共享这一个方法
      静态方法不能访问非静态的成员。不能使用this变量。
   3) static不能修饰类。
   4) static不能修饰局部变量。
   5) static修饰代码块:静态代码块。静态代码块是在JVM加载本类的字节码时执行的。之后就不再执行了。
 
 
 15. package关键字:用来给某个类指定包。要是源文件中的第一句。
    包名可以有层次,层次间用.隔开。
    编译带包名的类要使用:javac -d . 源文件名.java
    带包的类要生成与包层次对应的目录结构。
    运行带包的类要使用全限定名:java 包名.类名
    
     import关键字:在类中可以使用import语句导入指定包下的指定类。
     注意:不带包的类是放置在默认包下,默认包无名,不带包的类无法被带包的类使用。

原创粉丝点击