Java基础之三大特性

一、面向对象之封装  (3w学习法→what→why→how)

1.什么是封装?

隐藏对象的属性和实现的细节,仅对外提供公共的方法

2.为什么要使用封装?

①提高代码的复用性

②降低代码的耦合度

③隐藏具体实现的细节,使用存取控制语句,规范用户的输入输出

④提高代码的安全性

3.怎么使用封装?

这里必须提到四种权限修饰符(有小到大):①private②却省(default)③protected④public

 代码层面使用:

 4.构造器生成对象附带可以属性赋值

   权限修饰符(默认与类的权限修饰符一致) 类名(参数列表){}

  

如果 父类显示定义了构造器但是没有显示定义无参构造器,继承的子类将会报错 

 注意点:

        1.没有显示定义构造器,系统将会提供一个默认的无参构造器

        2.显示定义构造器的话,系统将会不会提供默认的无参构造器

        3.允许显示定义多个构造器,各个构造器之间构成重载

5.this关键字

作用:

        ①调用本类中的属性

        

·        特殊情况:方法或者构造器中的形参名与属性名一致是,this调用的是属性

        

        ②调用本类中的方法

        

        ③调用本类中的构造器: this(形参列表);

         

        注意点:

        ①this(参数列表)必须位于第一行并且只能出现一次

        ②n个构造器最多出现n-1个this(),还有一个super()

6.属性的赋值顺序

①默认值→②显示赋值→③构造器赋值→④对象.set方法/对象.属性赋值

二、面向对象之继承(extends)

1.什么是继承?

在现实生活中,儿子继承爸爸的基因就是所谓的继承,儿子和爸爸长的相似之外又有可以有些不同。在java中子类继承父类的属性和方法就是继承的关系,但是又可以根据需求改写父类的方法以及扩展自己的方法。

2.继承有什么好处? 提高代码的复用性

3.怎么用?使用extends关键字

继承之后子类对象便获得了父类的结构

4.重写:子类继承父类,并对父类中的同名同参方法进行覆盖

注意点:

        ①重写方法必须与被重写方法必须同名同参

        ②重写方法的权限修饰不小于被重写方法的权限修饰符

        

        

        ③重写方法的返回值类型:

                1.void还是void

                2.基本数据类型还是基本数据类型

                3.被重写方法的返回值类型是:引用数据类型A,重写方法的返回值类型是:A或者A的                      子类

                4.重写方法抛出的异常类型不大于被重写方法抛出的类型异常

5.super关键字:调用父类的结构

作用:

        ①调用父类的属性  ②调用父类的方法

        ③调用父类的构造器:super(参数列表)

  注意点:

        ①必须放在第一句并且只能出现一次

        ②this(参数列表) / super(参数列表)只能二选一

        ③如果没有显示定义this(参数列表) / super(参数列表),默认调用父类的构造器
        

        

6.子类对象实例化的过程:

从结果上看:

子类继承父类便获得了父类的结构,创建子类对象时,在堆空间中,存放父类的结构

从过程上看:

创建子类对象时调用子类的构造器,直接或者间接的调用了父类的构造器,直至调用java.lang.Obeject的无参构造器。正是因为如此,子类才能获得父类的结构,调用父

类的结构。

三、面向对象之多态

1.如何理解多态性?一个事务的多种形态

2.什么是多态性?

对象的多态性:父类的引用指向子类的对象

3.怎么使用?

有了对象的多态性之后,编译期间,只能调用父类的方法,运行期间,实际调用的是子类重写父类的方法。

4.使用前提:①继承关系 ②方法的重写

5.多态性只对于方法而言,对于属性没有

 6.如何从编译时和运行时看重载和重写?

对于重载而言,方法调用之前,编译器就确定了将要调用的方法,称为"早绑定\静态绑定"

对于重写而言,只有等到方法调用那一刻,解释运行器才会确定调用的方法,称为"晚绑定\动态绑定"

 答案:运行时行为

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值