重温Java基础(三)

1.封装,把该隐藏的隐藏起来,把该暴露的暴露出来

1.1.Java访问控制

  • 默认访问权限(包访问权限),public,private以及protected。

注意:上述四种访问权限,只有默认访问权限和public能够用来修饰类。修饰类的变量和方法四种权限都可以。(本处所说的类针对的是外部类,不包括内部类)

  • 修饰类

默认访问权限(包访问权限):用来修饰类的话,表示该类只对同一个包中的其他类可见。

public:用来修饰类的话,表示该类对其他所有的类都可见。

  • 修饰类的方法和变量

1.2属性,属性一般是私有的,并且有set和get方法。

1.3 this 关键字

  • 在方法中变量前加this,就代表直接给对象的字段赋值。
  • this代表当前使用的对象的地址。
  • this区分成员变量和局部变量。
  • 同类当中,实例方法的调用,可以省略this,其实是this.say();
  • 可以把this当作参数去传递,也可以当作返回值返回。
  • static不能和this一起使用。
  • 构造器重载互相调用,this();此时的this代表构造器名,必须写在第一行。

2.继承,解决代码重复的问题,表示出一个体系。

  • 父类,存放共同的状态和行为,也叫超类,基类,拓展类。
  • 子类,存放自己的状态和行为。

2.1.extends子类扩展了父类就获得了父类的方法和成员变量,可是父类的一些方法不适用于子类本身,我可以在子类中重新定义这个方法,这个过程被称为方法的覆盖(重写)。(引申方法的重载和重写的区别)

2.2.重写的规则

  • 覆盖的方法名和父类的方法名必须相同。(方法的名称和参数)
  • 重写的方法返回值必须和父类的返回值类型相同。
  • 重写的方法的访问权限必须比父类的访问权限大(或者一样大)

2.3. super关键字,调用父类的方法,super代表父类对象,this代表当前对象。

2.4.如果一个类有父类,会在构造器中默认调用父类的构造器。

  • 创建对象的时候,先创建父类对象,再创建自己。初始化对象也是先对父类变量进行初始化,再对自己初始化。
  • super调用构造器,必须放在第一行。super和this不能同时调用构造器。super代表地址,this代表对象。
  • super直接去找父类中的方法和变量,this先在当前类中找,找不到再去父类中找。

2.5.隐藏

  • 如果子类和父类有相同的静态方法,,这个时候我们称它是方法的隐藏。
  • 隐藏父类当中的字段,子类和父类有相同的字段,继承字段隐藏。super.字段
  • 本类字段隐藏,方法参数和本类字段相同,this.字段

2.6.Object类,是Java语言的根类,要么是一个类的直接父类,要么是一个类的间接父类。

  • hashcode方法,equals方法,toString方法

3.多态

3.1.多态的特点

  • 把子类对象赋值给父类变量,在运行时期会表现出具体的子类特征,调用子类的方法。
  • 多态运行的时候,还是运行自己创建的对象本身。

3.2.多态的好处

  • 把不同的子类对象当成是父类类型来看待,可以屏蔽不同子类对象之间的实现差异,从而写出通用的代码,达到通用编程。以适应需求的不断变化。

3.3.instanceof,判断一个类是不是指定的类。

3.4. 字段不存在多态,SuperClass sub = new SubClass(); sub.name 调用的还是SuperClass中的name

3.5.编译时多态(静态多态性)和运行时多态

  • 方法的重载是编译时多态
  • 方法的重写是运行时多态

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值