• 【java】一些零碎的知识点


    java注释文档

    一些常用的javadoc标签

    常用javadoc标签

    @see: other-class

    引用other-class 生成的html文档会有一个See Alse 作为超链接的只是条目

    {@link package.class#member label}

    @see, 但是用于行内. 生成的html文档会有一个label作为超链接的只是条目

    {@docRoot}

    产生到文档根目录的相对路径,用于文档树页面的显示超链接

    {@inheritDoc}

    从当前这个类的最直接的基类中继承相关文档到当前的文档注释中

    @version version-information

    用于生成自定义的版本信息(version-information)

    @author author-information

    用于生成自定义的作者信息(author-information)

    @since

    指定程序代码最早使用的版本

    @param parameter-name description

    parameter-name为方法参数列表的标识符, description表示可延续多行

    @return return-value description

    return-value描述返回值的含义description表示可延续多行

    @throws fully-qualified-class-name description

    fully-qualified-class-name给出一个在别处定义的异常类名字(不能产生歧义), description表示可延续多行

    @Deprecated

    建议用户不使用的旧特性

    类相关

    类的组合:

    使用现有的类A的对象作为新类B的成员变量(通常限定类A的对象为private)

    class A {}
    
    public class B {
    
        Private A a;
    
    }

    A,B关系可确定为”has-a”(拥有)关系,B拥有A

    类的继承

    现有基类A, B继承自类A,则类A也成为类B的父类

    class A {}
    
    class B extends A {}

    A和类B的关系可确定为”is-a”(是一个)关系,B是一个A

    重写(覆盖)和重载

    重写是指父类和子类之间,子类重写了父类的一个方法,且方法名,返回值,参数类型,参数个数,参数,顺序相同.

    重载是一个类中,有多个方法名相同的方法,它们的返回值,参数类型,参数个数,参数,顺序至少有一个不同.

    class A {
    
        public void helloWorld() {
        
            System.out.println(“hello world”);
        }
    }
    
    class B extends A {
    
        //重写(覆盖)父类方法
        
        public void helloWorld() {
        
            System.out.println(“hello world”);
        
        } 
        
        public void hi() {
        
            System.out.println(“hi”);
        
        }
        
        //重载上一个方法
        
        public int hi() {
        
            System.out.println(“hi”);
            
            return 1;
        }
    }

    java.lang类默认会被导入java文件中

    static修饰的方法或变量属于类,不属于类的对象.static对每个类来说只有一个存储空间,而每个对象都有一个存储空间.可通过staticMethod, 类名.staticMethod, 对象变量.staticMethod等来访问.

    创建对象时注意

    String s;    //创建引用(自动初始化为null),并不是创建对象
    new String(“hello world”);    //用new创建对象
    String s = new String(“hello world”);    //先用new创建对象,再创建引用s,并指向创建的对象(=具有右结合性)

    操作符注意

    ==!=用于比较基本类型的值,对象的引用是否相同

    equals()比较对象的值是否相同, 但是不适用于基本类型

    注意:equals默认行为是比较引用

    class Value {
        int i;
        int j = 10;
    }
    
    public class EqualMethod {
        public static void main(String[] args) {
            //==和!=比较基本类型的值
            System.out.println(47 == 47.00);    //true
            Integer n1 = new Integer(47);
            Integer n2 = new Integer(47);
            
            //==和!=比较对象的引用
            System.out.println(n1 == n2);        //false
            //equals()比较对象的值
            System.out.println(n1.equals(n2));    //true
            
            
            Value v1 = new Value();
            Value v2 = new Value();
            v1.i = v2.i = 100;
            //equals()默认比较引用,这里v1,v2都为类Value的对象的引用
            System.out.println(v1.equals(v2));    //false
        }
    
    }

    逻辑操作符(&&, ||, !) 产生一个布尔值,存在短路现象

    按位操作符(&, |, ~, ^) 不存在短路现象

    移位操作符:(<<, >>, >>>):左移<<时低位补0;有符号右移>>时,若符号为正则高位补0,为负则高位补1;无符号右移>>>时,无论正负高位补1(byte和short类型进行无符号右移时,先会被转换为int型, 再右移,然后截断赋值给原来类型)

    直接常量

    long: L, l(后缀)

    float:F, f(后缀)

    double: D, d(后缀)

    十六进制: 0X, 0x(前缀)

    八进制: 0(前缀)

    long a = 1024L;
    float b = 40f;
    double c = 2048d;
    int d = 0x21;    //十进制33
    int e = 021;    //十进制17
  • 相关阅读:
    不懂编程,不会数据架构,同事做的可视化报表是如何让我佩服的?
    catalina.sh设置JAVA_HOME后还无法解决更换JDK有关问题
    TOMCAT数据源连接配置
    L​i​n​u​x​下​配​置​T​o​m​c​a​t
    linux下JAVA开发的环境配置
    tomcat catalina.sh JAVA_OPTS参数说明与配置
    TOMCAT-报错The BASEDIR environment variable is not defined correctly
    EBS条形码打印
    PA模块报错-实际返回的行数超出请求的行数(分析标准FORM报错解决思路)
    WIP完工入库及完工退回的几个重要问题
  • 原文地址:https://www.cnblogs.com/libra-yong/p/6965125.html
Copyright © 2020-2023  润新知