• java/android 做题中整理的碎片小贴士(11)


    1、java中length属性用于数组,length()方法用于String,size()针对泛型集合。

    2、①finally语句中的return会将try中的覆盖掉,并且会使try中对数据的操作无效;②如果finally中没有return,也没有改变返回值,则会先执行完finally语句,再回过头来执行try中的return语句;③如果finally中没有return,并且修改了返回值,类似于值传递和引用传递的关系来起作用。

    3、输出顺序:构造块 构造块 静态块 构造块 (这里静态域首先执行)

    public class B{
        public static B t1 = new B();
        public static B t2 = new B();
        {
            System.out.println("构造块");
        }
        static {
            System.out.println("静态块");
        }
        public static void main(String[] args){
            B t = new B();
        }
    }
    

    4、Java语言中的非静态方法属于对象(而非类)中的成员(member)。

    5、运行正常,能输出。

    public class TestClass {
       private static void testMethod(){
            System.out.println("testMethod");
       }
       public static void main(String[] args) {
            ((TestClass)null).testMethod();
       }
    }
    

    null可以被强制类型转换成任意类型(不是任意类型对象),于是可以通过它来执行静态方法。

    6、JVM根据两个条件判断两个类是否相同:①类的全称②类的加载器。

    7、对外部类来说只有两种访问修饰,public 和默认(default),因为外部类放在包中,只有包可见和不可见两种。而内部类才是可以用private,protected。

    8、

    public void first( ){
        Value v=new Value( );
        v.i=25;
        second(v);
    }
     
    public void second(Value v){
        v.i = 20;
        Value val = new Value( );
        v = val;
       }
    

    v = val 只改变second()中的临时变量的指向,不影响外部的v。而v.i= 20则修改了指向的对象的值,对外部v造成了影响。

    9、枚举类enum是一个类,因而不是一个原始数据类型。

  • 相关阅读:
    工业大数据的理论体系
    我的偶像王坚博士,一位执着的学者!
    云计算遇上区块链,会产生怎样的能量和火花?
    管好超时才能做好异步
    “AliOS之父”——阿里巴巴王坚博士
    Centos7开放及查看端口
    直连不同网段
    实施:帧中继
    网线标准
    以太网的帧结构
  • 原文地址:https://www.cnblogs.com/jason31/p/9684768.html
Copyright © 2020-2023  润新知