三大修饰符abstract static final

三大修饰符

abstract static final

1.Abstract

使用 抽象abstract修饰后的类不能new 不能够实例化 的 但是他的子类是可以进行装箱的

  • 抽象类可声明为引用,更自然的使用多态。
1.1抽象方法(只声明不实现)

如果一个类包含抽象方法,那么该类必须是抽象类

继承抽象类的子类必须重写父类所有的抽象方法。否则,该子类也必须声明为抽象类。最终,必须有子类实现该父
类的抽象方法,否则,从最初的父类到最终的子类都不能创建对象,失去意义。

因为抽象类当中的方法,在他的继承实现子类都要重新该方法,故用处不大。

abstract void eat(); 只声明 不实现 但是抽象方法一定要在抽象类当中

抽象类中的方法 在子类中一定要实现。

1.抽象方法一定要定义在抽象方法里面

2.只声明不实现

3.继承子类就要实现抽象方法

1.2抽象的注意事项
  • 抽象类不能创建对象,如果创建,编译无法通过而报错。只能创建其非抽象子类的对象。
  • 抽象类中,可以有构造方法,是供子类创建对象时,初始化父类成员使用的
  • . 抽象类中,不一定包含抽象方法,但是有抽象方法的类必定是抽象类。
  • 抽象类的子类,必须重写抽象父类中所有的抽象方法,否则,编译无法通过而报错。除非该子类也是抽象
    类。

2.Static

概念

关于 static 关键字的使用,它可以用来修饰的成员变量和成员方法,被修饰的成员是属于类的,而不是单单是属
于某个对象的。也就是说,既然属于类,就可以不靠创建对象来调用了。

静态属性

如果是普通的话就是存在堆当中

使用static修饰的变量的属性b是放在了方法区中 共享一个变量b

统计次数的术后使用的一个count

可以使用构造方法的时候newcount++

只要一创建对象,就回调用构造方法,调用count++

2.1静态变量

.静态成员变量

  • 类的非静态成员方法、静态成员方法都可以直接访问静态成员变量
  • 其他类要访问某个类的静态成员变量,既可以通过实例名访问,也可以直接用类名来访问,推荐用类名访问的方式,这样能更直观的说明访问的变量是静态成员变量
  • 静态方法应用外部的属性,属性必须使用static
2.2静态方法
  • 方法使用了static修饰了 使用类来直接调用
  • 不需要创建对象来调用
  • 静态方法只能访问静态方法,非静态能访问静态

方法 可以继承但是不能够重写

  • 静态方法允许直接访问静态成员。
  • 静态方法不能直接访问非静态成员。
  • 静态方法中不允许使用this或是super关键字。
  • 静态方法可以继承,不能重写、没有多态。
2.3静态代码块

在创建对象之前惊进行属性的初始化赋值 但是只能访问静态的属性

类的扫描就会执行静态代码块

随着类的加载而执行且执行一次,优先于main方法和构造方法的执行。
格式

类加载器加载时加载静态代码块

3.Finall

  1. final修饰类:此类不能被继承。

  2. final修饰方法:此方法不能被覆盖。

  3. 意为最终方法,不支持子类以覆盖的形式修改。

  4. 常量的话需要赋予初始值 在一个类中赋值都行

3.1finall的特点
  • 实例常量不再提供默认值,必须手动赋予初始值。
  • 赋值时机:显示初始化、动态代码块、构造方法。
  • 注意:如果在构造方法中为实例常量赋值,必须保证所有的构造方法都能对其正确赋值。

基础的数据类型

finall变量是要初始化的,后面也是不能改变值得

初始化的赋值需要在本类中进行。。。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值