菜鸟先飞之jAVA_面向对象特征

创建一个对象的步骤

1、Student s =new Student();

         2、Student.class  加载进内存

         3、声明一个Student类型引用s

         4、在堆内存创建对象,

         5、给对象中属性默认初始化值

         6、属性进行显示初始化

         7、构造方法进栈,对对象中的属性赋值,构造方法弹栈

         8、将对象的地址值赋值给s

 

构造方法Constructor概述和格式

1、构造方法概述和作用

                   给对象的数据(属性)进行初始化

2、构造方法格式特点

                   方法名与类名相同(大小也要与类名一致)

                   没有返回值类型,连void都没有

没有具体的返回值return;

 

构造方法的重载及注意事项

1、构造方法的重载

                   方法名相同,与返回值类型无关(构造方法没有返回值),只看参数列表

2、构造方法注意事项

                   a)如果我们没有给出构造方法,系统将自动提供一个无参构造方法。

                   b)如果我们给出了构造方法,系统将不再提供默认的无参构造方法。

                   c)注意:这个时候,如果我们还想使用无参构造方法,就必须自己给出。建议永远自己给出无参构造方法,以免出错。

 

面向对象特征:封装(encapsulation)、继承(inheritance)、多态(polymorphism)

封装(encapsulation)

1、封装概述

                   指隐藏对象的属性和实现细节,仅对外提供公共访问方式。

 

2、封装好处

                   a)隐藏实现细节,提供公共的访问方式。

                   b)提高了代码的复用性。

                   c)提高安全性。

 

3、封装原则

                   a)将不需要对外提供的内容都隐藏起来。

                   b)把属性隐藏,提供公共方法对其访问。

 

private关键字的概述和特点

1、private关键字特点

                   a)是一个权限修饰符

                   b)可以修饰成员变量和成员方法

                   c)被其修饰的成员只能在本类中被访问

2、封装和private的应用:

                   a)把成员变量用private修饰

                   b)提供对应的getXxx()和setXxx()方法

                   c)private仅仅是封装的一种体现形式,不能说封装就是私有

 

继承(inheritance)

1、  继承的概述

让类与类之间产生关系,子父关系。

2、继承的好处

            a)提高了代码的复用性

            b)提高了代码的维护性

            c)让类与类之间产生了关系,是多态的前提

3、继承的弊端

类的耦合性增强了。

开发的原则:高内聚,低耦合。

                            耦合:类与类的关系

                            内聚:就是自己完成某件事情的能力

4、Java中类的继承特点

             a)Java只支持单继承,不支持多继承。(一个儿子只能有一个爹)

             b)Java支持多层继承(继承体系)

             c)如果想用这个体系的所有功能,用最底层的类创建对象

             d)如果想看这个体系的共性功能,看最顶层的类

5、继承的注意事项

             a)子类只能继承父类所有非私有的成员(成员方法和成员变量)

             b)子类不能继承父类的构造方法,但是可以通过super(马上讲)关键字去访问父类构造方法。

             c)不要为了部分功能而去继承

6、什么时候去使用继承

             继承体现的是一种“is a”关系,如果有两个类A,B。只有他们符合A是B的一种,或者B是A的一种,就可以考虑使用继承。

        

this和super的区别和应用

         this和super的概述

                   this:代表当前对象的引用,谁来调用我,我就代表谁

                   super:代表当前对象父类的引用

this和super的使用区别

                   a)调用成员变量

                            this.成员变量 调用本类的成员变量,也可以调用父类的成员变量

                            super.成员变量 调用父类的成员变量

                   b)调用构造方法

                            this(...)     调用本类的构造方法

                            super(...) 调用父类的构造方法

                   c)调用成员方法

                            this.成员方法 调用本类的成员方法,也可以调用父类的方法

                            super.成员方法 调用父类的成员方法

                  

final关键字

1、  final概述

final是代表最终的意思

2、final修饰特点

                   a)修饰类,类不能被继承

                   b)修饰变量,变量就变成了常量,只能被赋值一次。并且final修饰变量叫做常量,一般会与public static共用。

                   c)修饰方法,方法不能被重写.

3、final关键字修饰局部变量                             

a) 如果final修饰的是基本数据类型,值不能被改变

                b)如果fianl修饰的是引用类型,地址值不能被改变,但是对象中的属性可以改变

4、final修饰变量的初始化时机

a) 如果需要对修饰的变量,则需要显示初始化,成员变量的默认初始化值是无效值。

                b)还可以在默认的空参构造函数中进行初始化,总之在对象构造完毕前初始化完成即可。

 

多态(polymorphism)

1、  多态的概述

事物存在的多种形态

2、  多态的前提

a)        要有继承关系

b)        要有方法重写

c)        要有父类引用指向子类对象

3、  多态中的成员访问的特点

成员变量

编译看左边(父类),运行看左边(父类)

成员方法

         编译看左边(父类),运行看右边(子类)。动态绑定

静态方法

         编译看左边(父类),运行看左边(父类)

         只有非静态的成员方法,编译看左边,运行看右边

4、  多态的好处

a) 提高了代码的维护性(继承保证)

b) 提高了代码的扩展性(由多态保证)

c) 可以当作形式参数,可以接收任意子类对象

5、多态的弊端

          不能使用子类的特有属性和行为。

        

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值