第7章 面向对象高级特性

40 篇文章 0 订阅
40 篇文章 0 订阅

7.4 final关键字

7.4.1 final关键字的含义

1. final的作用

       在Java中声明类、属性和方法时,可使用关键字final来修饰,表示“最终”。

       final标记的类不能被继承。提高安全性,提高程序的可读性。

       比如:String类、System类、StringBuffer类

       final标记的方法不能被子类重写。

       比如:Object类中的getClass()。

       final标记的变量(成员变量或局部变量)即称为常量。名称大写,且只能被赋值一次

       final标记的成员变量必须在声明的同时或在每个构造方法中或代码块中显式赋值,然后才能使用。

       比如:final double PI=3.14;

 

 

7.4.2 final修饰类

 

    
 

final class A{

}

class B extends A{     //错误,不能被继承。

}

 
  

中国古代,什么人不能有后代,就可以被final声明,称为太监类!

 

 

 

 

 

 

 

7.4.3 final修饰方法

 

class A{

    public final void print(){

        System.out.println(“A”);

    }

}

class B extends A{    

    public void print(){   //错误,不能被重写。

        System.out.println(“尚硅谷”);

    }

}

 

 

 

 

 

 

 

 

 

 

 

 

 

class A{

        private final String INFO = “atguigu”;  //声明常量

        public void print(){

                  //INFO = “尚硅谷”;

         }

}

7.4.4 final修饰变量

 

 

 

 

 

 

 

 

 

    
  

特点:常量名要大写,内容不可修改。——如同古代皇帝的圣旨。

 
 

注:public static final:全局常量

 

 

 

 

 

 

1. 空final量和final修饰局部变量

public final class Test {

 

       public static int totalNumber = 5 ;

       public final int ID; // 空final量, 在构造器中初始化

      

       public Test(){

              ID = ++totalNumber;  //可在构造方法中给final变量赋值

       }

      

       public static void main(String[] args) {

              Test t = new Test();

              System.out.println(t.ID);             

              final int I = 10;

              final int J;

              J = 20;

              J = 30; // 不可以再次赋值

       }

}

 

7.5 native关键字

7.5.1 native含义

native表示本地的意思, 可以修饰方法, 被native修饰的方法没有方法体, 所谓本地就是代码是和当前操作系统密切相关的. 方法没有java代码的方法体, 但是一定是使用了C/C++等编写成的, 并且封装在操作系统相关的库文件中. 在执行这样的方法时, 实际执行的是库中的代码.

7.5.2 native关键字使用场景

有一些代码需要和底层设备交互, 而这些交互的功能并未由JDK提供现成的类库, 那么必须使用native方式让java程序和库交互, 再由库完成对底层设备的使用.

7.5.3 native关键字特点   

特点:用native修饰的方法是调用的库中的代码, 所以这样的代码如果再换一个平台就会出现问题, 无法实现跨平台.

 

 

 

本教程由尚硅谷教育大数据研究院出品,如需转载请注明来源。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值