zoukankan      html  css  js  c++  java
  • 实验02博客园总结

    本周的java实验课讲了一些关于类与对象的知识,我在此进行总结并完成PPT上的动手动脑任务:

    #原始数据类型变量与引用类型变量的区别:

      int value = 100 原始数据类型的变量 定义时会马上分配空间
      MyClass obj = new MyClass() 引用类型变量 声明一个对象类型变量时,实际上并没有创建一个对象 此变量=null
      java要求定义变量时,必须显式初始化变量;对象变量如果不引用一个真实对象,必须声明为null。

    #上网查询了关于final关键字的内容,讲解如下:

      final关键字
      1.修饰类:当用final修饰一个类时,这个类称为终态类,不能被继承
      2.修饰方法:想明确禁止方法在子类被覆盖
      3.修饰变量:修饰基本数据类型,初始化后就不能更改;修饰引用类型,初始化后不能再指向另一个对象

    #以下代码为何无法通过编译?哪出错了?

    public class Test{
          public static void main(String[] args){
               Foo obj1 = new Foo(); 
          }           
    }
    
    class Foo{
          int value;
          public Foo(int initValue){
               value = initValue;
          }
    }

      结论:如果类提供一个自定义的构造方法,将导致系统不再一共默认构造方法

    #类字段的初始化顺序:

    public class InitializeBlockClass {
        {
            field=200;
        }
        public int field=100;
        public InitializeBlockClass(int value){     //构造方法
            this.field=value;
        }
        public InitializeBlockClass(){                //构造方法
            
        }
        public static void main(String[] args){
            InitializeBlockClass obj=new InitializeBlockClass();
            System.out.println(obj.field);//100
            obj=new InitializeBlockClass(300);
            System.out.println(obj.field);//300
        }
    }

      结论:初始化块、构造方法、变量初始值,哪一个是初始化的最终结果,

        我把这三块先后换了一下位置发现,最后进行的那一步才是最终结果。

    #==施加在不同位置:

      == 施加在原始数据类型变量时,是比较变量所保存数据是否相等
      == 施加在引用类型变量时,时比较两个变量是否引用同一对象,
      引用代表地址,所以实际上是比较两个变量中保存的地址是否相同。

    #java中定义一个类时,如果不显式指明父类是哪个,则默认为Object
    Object是java最顶层基类,其中定义了equals()方法

    #动手动脑 静态初始化块的执行顺序:

      创建一个类对象时,会首先依次执行从父类到子类其中的静态初始化块,

      然后再从父类开始,按 普通初始化块->无参构造器->有参构造器 的顺序

      执行。

    #静态方法不能直接访问同一类中的非静态成员,而必须先创建对象,再通过对象访问。

      

  • 相关阅读:
    9.11 eventbus
    9.10,,,实现new instanceof apply call 高阶函数,偏函数,柯里化
    9.9 promise实现 写完了传到gitee上面了,这里这个不完整
    9.5cors配置代码
    9.5 jsonp 实现
    9.5 http tcp https总结
    9.3 es6 class一部分 and es5 class 发布订阅
    8.30 cookie session token jwt
    8.30vue响应式原理
    warning: LF will be replaced by CRLF in renard-wx/project.config.json. The file will have its original line endings in your working directory
  • 原文地址:https://www.cnblogs.com/jmdd/p/9827028.html
Copyright © 2011-2022 走看看