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


    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 }
  • 相关阅读:
    【转】android布局属性详解
    【转】Android开发学习笔记:5大布局方式详解
    【转】android:layout_gravity和android:gravity的区别
    【转】Android fill_parent和wrap_content分析
    @SuppressWarnings的使用、作用、用法
    android bin目录下的.ap_是神马文件?
    Android 工程目录结构简介
    安卓dalvik和art区别
    Android下HelloWorld项目的R.java文件介绍
    android的R.java
  • 原文地址:https://www.cnblogs.com/StarKL/p/6131408.html
Copyright © 2020-2023  润新知