面向对象总结

面向对象的三条主线:

  1. 类及类的成分
  2. 面向对象的三大特性
  3. 其他的关键字:this  super  import  package  static  final  interface等

 

一、java程序是关注于类的设计。类从代码角度:并列关系!从执行、设计角度:并联关系、继承关系、聚合关系

二、类的成分:属性  方法  构造器  代码块  内部类

            2.1   属性:

                 ①变量的分类:成员变量(属性Field) vs 局部变量(方法的形参、方法内部、代码块内部);

                                          基本数据类型( 8种,不同的数据类型对应不同的默认初始化值) vs 引用数据类型(数组、类、接                                                      口默认初始化值为null)

                 ②属性的声明格式:修饰符数据类型变星名=初始化值; //java是强数据类型的语言

                 ③对属性的赋值的操作: 1.默认初始化2.显式的初始化3.代码块的初始化4.构造器的初始化; 5.调用方法、属性进行赋值

            2.2方法

                  ①格式:修饰符(其它的关键字: static/final/abstract )返回值类型方法名(形参列表) { //方法体}

                   ②方法的重载(overload) Vs 方法的重写(override overwrite)

                   ③方法的参数传递机制(难点)

            2.3构造器

                    ①构造器的作用 : 1.创建类的对象2.初始化对象的成员变星

                    ②构造器也是可以重载的。

            2.4代码块    

                     ①主要作用:用来初始化类的成员变量

                     ②分类:静态的代码块Vs非静态的代码块

             2.5内部类

                      ①分类:成员内部类( static的成员Vs非static的成员) Vs 局部内部类(方法内部声明的类)
                      ②掌握:①如何创建成员内部类的对象(如:创建Bird类和Dog类的对象)
                                  ②如何区分调用外部类、内部类的变星(尤其是变是重名时)

                                   ③局部内部类的使用( 见TestInnerClass1java )

三、类的初始化(创建类的对象)
               3.1如何创建类的对象。如: Person p = new Person0; Date d = new Date0;

               3.2内存解析:


                                   ①栈:局部变星、对象的引用名、数组的引用名
                                       堆new出来的“东西”

                                       方法区: (字符串常量池)

                                       静态域:存放类中静态的变星
                                    ②如何理解创建的对象在内存中加载的过程(理解)

四、面向对象的三大特性:

                 4.1封装性:

                          ①通过私有化类的成员变星,通过公共的getter和setter方法来调用和修改

                          ②还可以对类的其他结构进行"封装”

                          ③权限修饰符: public protected缺省private

                 4.2继承性:  

                                  通过让一个类A继承另一个类B ,就可以获取类8中的结构(主要的:属性、方法、构造器)。子类:类A父类:类                                         B>java中的类的继承性:单继承的。

                 4.3多态性:

                            ①体现:方法的重载与重写; 子类对象的多态性Person p = new Student0;

                            ②子类对象多态性的使用:虚拟方法调用。

                            ③向上转型向下转型Student s = (Student)p; //建议在向下转型之前: if( p instanceof Student)避免出现ClassCastException的异常

五、其它关键字

                     5.1 this:修饰属性、方法、构造器。表示:当前对象或当前正在创建的对象

                     5.2 super :修饰属性、方法、构造器。显式的调用父类的相应的结构,尤其是子父类有重名的方法、属性

                     5.3 static:修饰属性、方法、代码块、内部类。随着类的加载而加载!

                     5.4 final:修饰类、属性、方法。表示“最终的"5.5 abstract:修饰类、方法

                     5.6 interface :表示是一个接口,(接口是与类换列的一个结构)

                     5.7package import。。。。。

》abstract不能修饰属性、构造器,不能与final、static和private共用

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值