Java程序语言学习总结-01

1、类与对象的关系

类的概述:类是用来描述一类具有共同属性和行为的事物的统称;

对象的概述:对象是类描述的一类事物的具体体现;

关系:对象是类的一个实例化(具体表现),类是对象的抽象理解;

理解:相当于"我"与程序员的关系,程序员是从事程序开发、程序维护的专业人员,而"我"是程序员具体体现之一,一个类可以有许多对象,而一个对象只能属于一个类;

2、Java四大权限修饰符

被这四种权限修饰符修饰的类可被不同的包和类的访问情况:

&nbsp        public > protected > (default) > private

&nbsp 同一个类:  YES    YES     YES    YES

&nbsp 同一个包:  YES     YES      YES     NO

&nbsp 不同包子类: YES    YES     NO     NO

&nbsp 不同包非子类:YES    NO      NO    NO

:(default) 并不是关键字default,而是根本不写

3、面向对象三大特征之一:封装

概述:将不希望被外界类访问的成员变量和成员方法利用权限修饰符,将其隐藏在类的里面,外界即使创建了该类的对象也无法直接使用这些变量和方法;

问题:那无法使用的话,那写这些变量和方法的意义何在?

答:只是无法直接使用,可以将这些被隐藏的成员变量和成员方法,放在可以被外界访问的方法中,从而实现操作和访问;

使用封装的好处

​ 通过公共方法来提供对这些隐藏起来的变量和方法的操作,提高了代码的安全性和复用性;

3.1 标准类

一个标准类的组成就是使用了封装所组成的

​ 一个标准类要求类必须是公共的(public修饰),属性使用private修饰,并且具有无参数的构造方法,提供用来操作成员变量的set(修改变量的值) 和get(获得变量的值)方法。

3.2 构造方法

概述:构造方法是一种特殊的方法,其方法名与类名一致,并且不需要返回值,void关键字也不需要,而当创建一个类的对象时,会自动执行该类的构造方法;

作用:在创建对象时,完成对对象一些成员属性的初始化(赋初值);

4、面向对象三大特征之一:继承

概述:在Java中一个类在类名后面使用了extends关键字并后接另一个类的类名,则代表这个类继承了另一个类,这个类叫做子类,另一个类叫做父类

作用:当一个类继承了另一个类后,该类就会拥有父类的所有成员变量和成员方法(除了构造方法)

好处:使类与类之间产生了联系,并且提高了代码的复用性;

注:Java是单继承的,一个类只能拥有一个直接父类

4.1 继承后的成员访问规则

  1. 构造方法不能被继承
  2. 父类的“私有成员”可以被子类继承,但子类不能被直接访问。[^被private修饰的变量和方法算不上是直接继承,只能使用从父类继承而来的方法来使用这些变量和方法]
  3. 当通过“子类”访问非私有成员时,先在子类中找,如果找到了就使用子类的,找不到就继续去“父类”中找。

4.2 方法重写

概述:子类中出现与父类一模一样的方法时(返回值类型,方法名和参数列表都相同),会出现覆盖效果,也称为重写或者复写。

速记:声明不变,重新实现

注意事项:

  • 方法重写是发生在子父类之间的关系。

  • 子类方法重写父类方法,返回值类型、方法名和参数列表都要一模一样。

  • 子类方法重写父类方法,必须要保证权限大于等于父类权限。

    • 访问权限从大到小: public protected (默认) private
  • 使用@Override注解,检验是否重写成功,重写注解校验!

    • 建议重写方法都加上这个注解,一方面可以提高代码的可读性,一方面可以防止重写出错!

4.3 this关键字和super关键字

  • this关键字:代表调用者,即哪个对象在调用this,this代表的就是谁;

    • this关键字的用法:
      1. this访问本类成员变量: this.成员变量
      2. this访问本类成员方法: this.成员方法名();
      3. this访问本类构造方法: this()可以在本类的一个构造方法中,调用另一个构造方法
  • super关键字:代表直接父类,即哪个对象在调用super,super代表的就是谁的直接父类;

    • super关键字的用法:
      1. super访问父类的成员变量: super.父类成员变量名
      2. super访问父类的成员方法: super.成员方法名();
      3. super访问父类的构造方法: super()
    • super注意事项:
      1. super访问成员变量和成员方法: 优先去父类中找,如果有就直接使用,如果没有就去爷爷类中找,如果有,就用,依次类推…
      2. 子类的构造方法默认会调用父类的空参构造方法,如果父类中的没有空参构造方法,只定义了有参构造方法,会编译报错

5、抽象类

概述:使用abstract关键字修饰的类就是抽象类,而抽象类是无法创建对象的;

作用:用来做父类,被子类继承的;

特点

  • 抽象类不能被创建对象,就是用来做“父类”,被子类继承的。
  • 抽象类不能被创建对象,但可以有“构造方法”——为成员属性初始化。
  • 抽象类中可以没有抽象方法,但抽象方法必须定义在抽象类中
  • 子类继承抽象类后,必须重写抽象类中所有的抽象方法,否则子类必须也是一个抽象类

5.1 抽象方法

概述:无具体实现方法(具体代码),被abstract修饰的方法就是抽象方法

作用:当父类中的某个方法,所有的子类都有不同的实现的时候,父类中的这个方法就定义成抽象方法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值