博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java学习中,instanceof 关键字 和 final 关键字、值的传递(java 学习中的小记录)...
阅读量:5975 次
发布时间:2019-06-20

本文共 2566 字,大约阅读时间需要 8 分钟。

java学习中,instanceof 关键字 和 final 关键字、值的传递(java 学习中的小记录)作者:王可利(Star·星星)

 

instanceof 关键字

作用:

    1.用来判断某个对象是否属于某一个类。

    2.instanceof 关键字使用的前提:对象指定的类有继承关系或者实现关系

    3.强制类型转换会用到 instanceof 关键字。

      如:

      Student s = (Student)new Person();//要想这么做,必须满足Student继承Person。

      boolean res = s instanceof Person 

      if( res){

      Student s = (Student)new Person();

    }

代码如下:

1 package study; 2  3 class Person{ 4     String name; 5     public Person(String name) { 6         this.name  = name; 7     } 8     public Person() {} 9 }10 11 class Student extends Person{12     13 }14 15 public class star {16     public static void main(String[] args) {17         Person star = new Person("星星");        18         boolean result1 = star instanceof Person;19         System.out.println(result1);//ture20         21         Student s = new Student();//默认父类的无参构造22         23         boolean result2 = s instanceof Person;24         System.out.println(result2);//ture25     }26 27 }

final 关键字(修饰符,最终的)

1.如果用一个final 关键字修饰一个基本数据类型变量,改变了就不能重新赋值。第一次的结果为最终结果。

2.如果用final修饰引用数据类型,引用数据类型的变量就不能再赋值。

   如:这样是错的。

         final Yuan yuan = new Yuan(10);

         yuan = new Yuan(100);//无法重新赋值

3.如果final修饰一个方法,方法就不能被重写。

4.如果final修饰一个类,那么这个类就不能被继承。

5.final 修饰的变量必须要初始化,不然会报错。

1 package study; 2  3 class Yuan{ 4     int r; 5     final double pai = 3.14;//应该是一个不变的量,不然下面参数 给了 不是3.14 就会被修改。类似常量 6      7     public Yuan(int r/*,double pai*/) { 8         this.r = r; 9     /*    this.pai = pai;*/10     }11     12     public void area(){13         System.out.println("圆的面积是"+r*r*pai);14     }15 }16 17 public class star {18     public static void main(String[] args) {19         Yuan yuan = new Yuan(10/*,3.14*/);//不给修饰会被修改20         yuan.area();21     }22 }

如何用final表示常量:

格式:

    public  final  static 基本数据类型  变量名

 

值的传递

基本数据类型之间赋值,实际是将变量的值赋给另外一个变量。

参数如果是引用类型,传递参数是参数的引用类型数据的地址。

引用类型:类、接口、数组

 

1 package study; 2  3 public class star { 4     public static void main(String[] args) { 5          6         //需求:定义两个整形的数,用一个方法来交换两个数 7         int a = 10; 8         int b = 20;         9         change(a, b);10         System.out.println("a = "+a+",b = "+b);//10.2011         12         //需求:定义一个数组,交换两个数的位置13         int[] arr = {10,20};14         changeArr(arr);//20,1015         System.out.println("arr[0] = "+arr[0]+"arr[1] = "+arr[1]);        16     }17     18     public static void change(int a,int b){19         int temp = a;20         a = b;21         b = temp;22     }23     public  static void changeArr(int[] arr){24         int temp = arr[0];25         arr[1] = arr[0];26         arr[0] = temp;27     }28 }

 

转载于:https://www.cnblogs.com/StarKL/p/6131408.html

你可能感兴趣的文章
介绍几个好用的android自定义控件
查看>>
阿里云服务器 Windows连接不成功 提示“你的凭证不工作” 解决方法
查看>>
NVIDIA Jetson TK1学习与开发(八):图文详解OpenGL在Jetson TK1上的安装和使用
查看>>
【性能优化】直方图
查看>>
Visual C#之核心语言
查看>>
[J2ME]Nokia播放音乐时发生MediaException的解决办法
查看>>
【转】CSS 与 HTML5 响应式图片
查看>>
代码重构(五):继承关系重构规则
查看>>
redis.conf 配置档详解
查看>>
Windows App开发之集合控件与数据绑定
查看>>
五分钟创建一个自己的NPM包
查看>>
iOS多线程编程:线程同步总结 NSCondtion
查看>>
Flutter开发环境安装
查看>>
QQ登录的那些坑(如何开发qq登陆功能)
查看>>
中大型网站技术架构演变过程
查看>>
深入剖析OkHttp系列(五) 来自官方的事件机制
查看>>
Java 9 CompletableFuture 进化小脚步
查看>>
【前端词典】进阶必备的网络基础(下)
查看>>
ARTS训练第三周
查看>>
12月21日云栖精选夜读:阿里云总裁胡晓明:AI泡沫过后,下一站是“产业AI”...
查看>>