美文网首页
2018-09-23静态初始化块、参数值传递、包、继承使用要点

2018-09-23静态初始化块、参数值传递、包、继承使用要点

作者: 消失的七月 | 来源:发表于2018-09-23 10:08 被阅读0次

1.静态初始化块:

    记住执行顺序 :有继承的时候也是一样--->想想java SA  JVM构建虚拟机的时候。栈、堆和方法区。在构建

            方法区的类信息(静态变量、静态方法、常量(字符串常量) ),new的时候堆(构建对象的信息(普通变量、

            普通方法)),当调用方法的时候会创建一个栈帧(是连续的新进的后出)。

2.参数值传递:

Java中,方法中所有参数都是“值传递”,也就是“传递的是值的副本”。 也就是说,我们得到的是“原参数的复印件,而不是原件”。因此,复印件改变不会影响原件。

· 基本数据类型参数的传值

  传递的是值的副本。 副本改变不会影响原件。

· 引用类型参数的传值

  传递的是传值的副本。但是引用类型指的是“对象的地址”。因此,副本和原参数都指向了同一个“地址”,改变“副本指向地址对象的值,也意味着原参数指向对象的值也发生了改变”。

    代码示列以及图解:

public class User4 {

    int id;        //id

    String name;   //账户名

    String pwd;   //密码

    public User4(int id, String name) {

        this.id = id;

        this.name = name;

    }

    public   void   testParameterTransfer01(User4  u){

        u.name="高小八";

    }

    public   void   testParameterTransfer02(User4  u){

        u  =  new  User4(200,"高三");

    }

    public static void main(String[] args) {

        User4   u1  =  new User4(100, "高小七");

        u1.testParameterTransfer01(u1); 

        System.out.println(u1.name);

        u1.testParameterTransfer02(u1);

        System.out.println(u1.name);

    /*out下面的图片说明了---->值传递的原因

       高小八 

        高小八

    */

    }

}

清晰图片

3.包

我们通过package实现对类的管理,package的使用有两个要点:

  1. 通常是类的第一句非注释性语句。

  2. 包名:域名倒着写即可,再加上模块名,便于内部管理类。

4.继承使用要点

1.父类也称作超类、基类、派生类等。

2.Java中只有单继承,没有像C++那样的多继承。多继承会引起混乱,使得继承链过于复杂,系统难于维护。

3.Java中类没有多继承,接口有多继承。

4.子类继承父类,可以得到父类的全部属性和方法 (除了父类的构造方法),但不见得可以直接访问(比如,父类私有的属性和方法)。

5.如果定义一个类时,没有调用extends,则它的父类是:java.lang.Object。

相关文章

  • 2018-09-23静态初始化块、参数值传递、包、继承使用要点

    1.静态初始化块: 记住执行顺序 :有继承的时候也是一样--->想想java SA JVM构建虚拟机的时候。栈...

  • java类初始化机制

    初始化顺序 无继承类初始化 初始化顺序静态变量/静态代码块 -> 成员变量/代码块 -> 构造函数其中,静态变量与...

  • java初始化顺序

    存在继承关系时 父类static块和静态成员变量,按顺序初始化 子类static块和静态成员变量,按顺序初始化 父...

  • JAVA实例初始化顺序

    存在继承的情况下,初始化顺序为: 父类(静态变量、静态语句块)子类(静态变量、静态语句块)父类(实例变量、普通语句...

  • Java基础整理(三)

    理论基础 类的代码块种类: 静态代码块 初始化块 构造方法 类的继承 调用顺序 首先调用父类静态代码块 然后调用子...

  • Java知识点总结

    Java继承关系初始化顺序 父类的静态变量-->父类的静态代码块-->子类的静态变量-->子类的静态代码快-->父...

  • 类初始化顺序

    对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是(静态变量、静态初始化块)>(变量、初始...

  • Java类初始化顺序,大神3个示例带你躺坑。。

    最近发现微信群里面有些群友在讨论类的初始化顺序,如类的静态变量、成员变量、静态代码块、非静态代码块、构造器,及继承...

  • 4.7-全栈Java笔记:静态初始模块与参数传值机制

    静态初始化块 构造方法用于对象的初始化! 静态初始化块,用于类的初始化操作!在静态初始化块中不能访问非static...

  • 设计模式——工厂,策略,建造者

    Java 类初始化顺序基本分为以下几种:静态块,初始化块,静态方法,构造函数块,静态变量,成员变量对于块顺序,静态...

网友评论

      本文标题:2018-09-23静态初始化块、参数值传递、包、继承使用要点

      本文链接:https://www.haomeiwen.com/subject/unyfoftx.html