• JAVA要点


    1 下载安装JVM,是建立在java虚拟机上的;源码-->字节码-->机器码;

    2 声明数组时,左边不能指定数组元素的个数

       声明完成后必须要分配内存(new)

       可以一起完成声明和定义(分配内存+赋值),为了兼容c可以如下:

    1. int array[]={1,2,3,4,5};
    2. 等效于:
    3. int array[]= new int []{1,2,4,5,6};

    3 instanceof: 当左边的实例属于右边的类时返回true;

    4 范围for:用于迭代的局部变量必须当场声明

    1. for(int i :array){
    2. }

    5  java是面向对象语言,所有内容都是在类里面;一个源文件由若干类组成,java虚拟机编译后,每一个类都有一个类字节码文件;当java命令执行时,会从被执行执行文件的min函数内开始执行,若没有main函数会报错

    1. # java test
    2. 错误: 在类 test 中找不到 main 方法, 请将 main 方法定义为:
    3. public static void main(String[] args)

    6 要么在声明时一同定义(赋值);要么在方法中定义;

        除了声明的表达式(如单纯赋值表达式)不能出现在方法外;

    7 构造函数是类创建对象(实列)时自动运行方法;必须与类名相同且没有类型(返回值)

    8 当需要 引用的其他源文件的类时,如果在同一个文件路径下-虚拟机会自动一同编译

    9 方法传值时,可以传低于该形参级别的值(如double传float)

    10 可变形参:必须放在形参列表的最后一个 ...代替

    public void fun(double a,int ...x)

    11 对象里面可以包含对象,或需要类-形参的方法;

    类方法/类变量

    12 static静态

            分为静态方法静态变量

            由于是和类绑定,所以称为类变量,和类方法;

    1. public class test {
    2. static int StaticA=8;//类变量
    3. static int Sfun(){//类方法
    4. return 5;
    5. }
    6. }

    凡是加了static:

            类变量/类方法 载入内存时就初始化完成,分配好了空间(而实例方法只有第一次初始化时才会分配函数入口地址);

            都可以通过类名访问;

    类变量:

            所有此类的实例共享此变量;

            可以通过对象名和类名来访问

    类方法

            通过类名直接访问,减少了创建实例的开销,常作为调用方法时使用;

            只能通过类名来访问

    13 方法的重载:就是方法名一样,但参数个数或类型不一样,调用时根据实参的情况来判断进入哪个具体同名方法;

    14 this:代表某个对象-可以出现在实例方法和构造方法中,但不能出现在类方法中(无法确定是此类的哪个实例 或者 此类根本没有实例化);

            

    15 类创建实例(对象)时,一定要new才能使用

    1. test class1= new test();
    2. 左边相当于声明,右边是分配内存

    子类与父类

    1. class a extends b{
    2. }
    3. ## 用extends 表示继承--- a继承自b

    16 如树一样,只能有一个类,而一个类可以有很多子类

    17 在同一个包(文件夹)时,子类会继承父类中 除 private 修饰的变量和方法

         在不同包时,子类会继承父类中 除 private 和 protected 修饰的变量和方法、

    18  隐藏变量名/方法

    若子类的新成员变量名与父类继承的相同,将会隐藏继承的变量名;{

     子类对象可以调用继承的方法来操作隐藏的继承变量;

     重写继承的方法后,子类调用的一定是重写之后的函数--可以用super关键字调用被隐藏的方法

    super.方法()/ 变量名

    }

    19 重写 父类方法时,不允许降低方法的访问权限

    1. public->protected->友好的->private
    2. ----------->低

    20:子类构造总是优先调用父类的构造方法,默认调用不带参数的构造函数;

            子类构造函数中默认添加 super() -----来调用父类的构造方法;

    21 final 关键字

            凡是被final修饰过的类---不能被继承 ,方法--不允许重写,成员变量或局部变量--变为常量;

    22 对象的上转类型 

    子类的实例赋值给父类的申明对象;{

    上转对象不能访问子类新增的成员变量,不能调用子类新增的方法(可以且一定调用重写的);

    }

    23:多态被不同子类继承时,可以产生不同的行为方法

    24 abstract 抽象类

    被修饰的称为抽象类;

    被 abstract修饰的方法--只允许声明,不允许实现(没有方法体) ;

    被 abstract修饰的---可以有abstract方法,也可以有普通方法;

    --->面向抽象编程,规定了具体操作,不关心具体的实现

    25 如果 一个类是抽象类的子类,必须实现所有父类的所有抽象方法;

    27interface 接口

    用 interface来定义一个接口

    1. interface{
    2. }

    接口之中可以有抽象方法(abstract)和常量,且访问权限一定都是public ,且访问权限可以省略;

    可以有 default(一定要加,和普通方法一样 )修饰的实例方法 和 static 方法;

    28  implements 实现接口 

            如:类A实现了接口x1,x2

    1. class A implements x1,x2{
    2. }

    类实现了某个接口,自然拥有了 接口的常量,default方法,且一定要重写该接口的所有抽象方法

    29 public interface 表示是一个开放接口,可以被任何类所实现;

            父类实现了接口,父类的子类页自然实现了接口;

    30 接口回调

            对象的上转类型 ---当实现接口的实例(的引用)赋值给 接口变量(用接口声明一个变量)时,接口变量就可以调用实现接口方法;

    31 Lambda 表达式 --单接口

            如果一个接口内只有一个abstract抽象方法,则称为为单接口---函数接口;

            Lambda表达式是一个匿名函数,表达式的值是这个匿名函数的入口地址

    1. (参数列表)->{
    2. }

        32 可以用接口变量 接受 Lambad表达式---自然接口变量就可以调用Lambada表达式(也相当于定义了单接口里面抽象函数的实体)

    32 abstract 抽象类与 interface接口的比较

    抽象类中既可以有常量,也可以有变量;接口中只能有常量;    

    接口类中不能有除default方法类的其他实例方法;

    33 内部类

            可以嵌套类,内部类中不可以声明类变量和类方法,内部类只能供外部的类使用;

            内部类+static -->就是外类中的一种静态数据类型;可以用static内部类来创建对象;

    34 匿名类 

            匿名类一定是内部类,子类;

            可以用匿名类实现接口(子类继承)

    35 异常类

            try + throw + catch 

    36 常用 实用类

    string 类 

    java String类(超详细!)_一个快乐的野指针~的博客-CSDN博客_java string

    反射class类:

    Java基础之—反射(非常重要)_敬业小码哥的博客-CSDN博客_反射

    37 GUI编程

    java swing开发窗体程序开发(一)GUI编程_最咔酷学院的博客-CSDN博客_java swing

  • 相关阅读:
    汇川伺服【选型目录】
    微信小程序实现lot开发02 使用微信小程序发起网络请求
    Modbus转Profinet网关在污水处理系统中连接PLC和变频器Modbus通信案例
    如何给16进制的色值设置透明度
    pat倒数3天
    质量小议16 -- 白盒测试方法
    Java 编程性能调优
    【Spring Boot 源码研究 】- 自动化装配条件化配置Conditional剖析
    [Linux] 进程优先级 && 进程的调度与切换 &&环境变量详解
    使用 Dumpling 导出TiDB中的数据
  • 原文地址:https://blog.csdn.net/qq_57065913/article/details/126943490