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);//ture
20
21         Student s = new Student();//默认父类的无参构造
22
23         boolean result2 = s instanceof Person;
24         System.out.println(result2);//ture
25     }
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.20
11
12         //需求:定义一个数组,交换两个数的位置
13         int[] arr = {10,20};
14         changeArr(arr);//20,10
15         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

java学习中,instanceof 关键字 和 final 关键字、值的传递(java 学习中的小记录)...相关推荐

  1. 详解Java中static关键字和final关键字的功能

    摘要:static关键字和final关键字是Java语言的核心,深入理解他们的功能非常重要. 本文分享自华为云社区<Java: static关键字与final关键字>,原文作者:唐里 . ...

  2. 重新精读《Java 编程思想》系列之final关键字

    在java中final关键字标识无法被修改.接下来从final修饰数据.方法和类进行介绍. final数据 final用来告知编译器这一块数据是恒定不变的.数据恒定不变又如下作用: 1.一个永不改变的 ...

  3. final关键字_Dart核心语言基础const关键字与final关键字的区别

    题记:不到最后时刻,千万别轻言放弃,无论结局成功与否,只要你拼搏过,尽力过,一切问心无愧 本文描述 Dart 中 const 关键字与 final 关键字的基本使用知识点以及对比区别. Dart核心基 ...

  4. Dart核心语言基础const关键字与final关键字的区别

    题记:不到最后时刻,千万别轻言放弃,无论结局成功与否,只要你拼博过,尽力过,一切问心无愧 本文描述 Dart 中 const 关键字与 final 关键字的基本使用知识点以及对比区别 ** 你可能需要 ...

  5. arcpy读取featureClass中某一字段的所有属性值,存放到list中(地理国情监测)

    arcpy读取featureClass中某一字段的所有属性值,存放到list中:(地理国情监测) import arcpy shppath = r"F:\\IndexData.shp&quo ...

  6. java 中的static关键字和final关键字

    static 1.在类中,用static修饰的属性,称为静态属性.为这个类的所有对象所共有,存放在静态存储区,所有该类的对象都可以访问且访问的都是同一变量.可以用作计数器,来统计总共创建了多少个各类的 ...

  7. Java面试题,深入理解final关键字

    final关键字 final的简介 final可以修饰变量,方法和类,用于表示所修饰的内容一旦赋值之后就不会再被改变,比如String类就是一个final类型的类. final的具体使用场景 fina ...

  8. Java基础super关键字、final关键字、static关键字、匿名对象整理

    super关键字 10.1子父类中构造方法的调用 public class Test { public static void main(String[] args) { new Zi(); } } ...

  9. Java的this、super和final关键字

    this:(this表示当前对象) 用类名定义一个变量的时候,定义的只是一个引用,外面可以通过这个引用来访问这个类里面的属性和方法. 在类的方法定义中使用this关键字代表使用该方法的对象的引用 当必 ...

最新文章

  1. 长沙城南学院的计算机科学,长沙理工大学城南学院计算机科学与技术专业2016年在海南理科高考录取最低分数线...
  2. 多目标线性规划求解方法及matlab实现
  3. java实例方法,Java实例和静态方法
  4. Ksusha and Array (vector)
  5. Pandas Timestamp 和 python 中 datetime 的互相转换
  6. Create view failed with ORA-01031:insufficient privileges
  7. Oracle checkpoint 说明
  8. 设计模式のFactoryPattern(工厂模式)----创建模式
  9. 【Hive】多字符分隔
  10. 乒乓球(Table Tennis)
  11. 七夕动态表白代码,基于python
  12. Python读取PDF文档并翻译
  13. 如何成为一个合格的数据分析师
  14. echarts世界地图国家及中国城市的经纬度数组整理
  15. 配置网络拓扑图测试软件,网络工程师必备系列课程专题(数据恢复+RAID配置+画拓扑图)...
  16. android 触摸事件流程。
  17. 2018运动场景内运动检测调研文章
  18. 贝壳找房上海研发全员被优化,公司回应来了!
  19. 洛谷P4942 小凯的数字
  20. MySQL第十四次作业

热门文章

  1. Oracle中单双引号
  2. [译].NET 4 中玩耍内存映射文件
  3. 匿名对象,String类
  4. Hibernate知识点总结
  5. 为了忘却的纪念----开始从操就业的第一个SHELL程序
  6. Codeforces 1103 E. Radix sum
  7. 2019重庆整治金融乱象出实招:依法处置高风险机构 推进网络借贷风险专项整治...
  8. 使用高速通道加速iOS版本审核
  9. zabbix 自定义监控
  10. FastDFS介绍与安装配置