java学习之路的自我回顾3(类2)

在java类中只能包含属性,构造器,方法,初始化块,内部类和枚举类6大类成员
关于一个类在程序中第一次被使用时程序所做的相关行动在上一篇中已经提到过,就不在赘述了

通过static修饰的成员就是类成员
这里有一点比较绕,就是类属性,可以通过类来访问,也可以通过类对象来访问,就像上面提到的,类在第一次运行时会创建一块内存,现在就可以通过那里使用类来进行类属性的访问了;通过类对象来访问时,实际上不是经过对象来访问的,因为当创建类对象时,是不会为类属性分配新的内存的,也不会给类属性初始化,而仅仅是又创建了一个新的内存块来储存对象的信息,这里就又牵扯到程序中的数据保存方式了,当创建对象时,会在内存栈中添加对象名称,然后将数据保存到堆内存中,这里也不再赘述,简单来讲,就是类对象访问类属性时,实际上是经过转化(系统的底层),变为类后,才访问的类属性。实际上也不是很难理解,就是类属性是一个类拥有的,该类所有的对象都共同拥有该类属性

final修饰符
可以修饰类,方法,变量,有点像在C中的static,ta的特点在于通过该修饰符修饰的变量只能赋初始化值,之后就不能再被改变
当用final修饰方法时,该方法不能被重写,即当你不希望父类的方法被子类重写时可以用该关键词修饰
当用final修饰类时,该类就无子类

abstract修饰符
抽象类,抽象方法
简单来说就是使用该修饰符的方法,不用给出方法的具体实现细节,只需要声明即可。
普通类加上改修饰符后也能变为抽象类
抽象类不能被实例化,但是能够作为父类来创建子类,也就是说,可以将多个类的性质抽象出来,构成一个抽象类,再用该抽象类作为父类,创建所想要的子类,这样做无疑可以限制子类的创建,使得子类的创建不在盲目和多大

接口
抽象类是从众多类中抽象出来的模板,如果将这一过程进行的更加彻底,则可以提炼出“接口”,可以看出,接口是特殊的抽象类,接口中不包含普通方法,只包含抽象方法,是一个纯粹的抽象类

定义接口时,不使用class关键词,而是使用interface关键词,声明方式和声明类的形式一样,只是把class换成了interface

一个接口可以继承多个父辈接口

内部类
顾名思义,就是定义在其他类中的类
内部类可以定义在类中的任何地方,方法中也可以(此时叫做局部内部类)

枚举类
有些情况下,类的对象是有限且被固定的,类似季节,月份等等
手动实现枚举类
用private修饰构造器
用public static final 修饰类的所有属性
可以提供一些静态方法

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值