Java基础之static default 构造函数!

package ssh;

public class father {

    public father() {
        System.out.println("father!");
    }

    {
        System.out.println("father default!");
    }

    static {
        System.out.println("father static!");
    }

}

package ssh;

public class son extends father{

    public son(){
        System.out.println("son!");
    }

    {
        System.out.println("son default!");
    }

    static {
        System.out.println("son static!");
    }

    public static void main(String[] agrs) {
        System.out.println("start!");
        new son();
        System.out.println("middle!");
        new son();
        System.out.println("end!");
    }

}

结果:

father static!
son static!
start!
father default!
father!
son default!
son!
middle!
father default!
father!
son default!
son!
end!

时间: 2024-12-19 10:02:26

Java基础之static default 构造函数!的相关文章

Java基础之static关键字的用法

Java中的static关键字主要用于内存管理.我们可以应用static关键字在变量.方法.块和嵌套类中. static关键字属于类,而不是类的实例.        静态(static)可以是: 变量(也称为类变量) 方法(也称为类方法) 代码块 嵌套类         修饰变量 被static修饰的变量称作静态变量或类变量:没有被static修饰的变量,称为实例变量.静态变量在内存中只有一个拷贝(节省内存),JVM只为静态变量分配一次内存,在类加载的过程中完成静态变量的内存分配(存储在"方法区

黑马程序员-Java基础-面向对象—继承、构造函数、重写、final、抽象类、接口

第一讲  继承 1.  继承的作用 1) 提高代码复用性: 2) 让类与类之间产生了关系: 2.  java继承特点 1) java只支持单继承,不支持多继承 因为多继承容易带来安全隐患:当多个父类中定义了相同功能,但功能内容不同时,子类对象不确定要运行哪一个. 2) java支持多层继承:可以形成一个继承体系 利用一个继承体系的方法:阅读体系父类,了解共性功能(该体系的基本功能),具体要调用这些基本功能时,需要创建最子类的对象,为什是最子类: 一是:父类有可能不能创建兑现(如,静态类或接口):

Java基础之static关键字

static方法就是没有this的方法.在static方法内部不能调用非静态方法,反过来是可以的.而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法.这实际上正是static方法的主要用途.static可以用来修饰类的成员方法.类的成员变量,另外可以编写static代码块来优化程序性能.但是在Java中切记:static是不允许用来修饰局部变量. static方法 static方法一般称作静态方法,由于静态方法不依赖于任何对象就可以进行访问,因此对于静态方法来说,是没有th

java基础之static(静态)

静态的属性.方法等属于类而不是对象. 静态的方法能够由类直接调用,不须要将类实例化. 本篇主要说明:1.态的代码.成员变量要比构造方法先运行. 2. 子类的构造方法会默认去调用父类的不带參数的构造方法,假设父类不提供不带參数的构造方法,则子类的构造方法要显示使用super(param),去调用父类的带參数的构造方法 下面代码,能够将凝视掉的内容放开,或增改參数类型.參数定义的位置等,然后运行main看看打印结果,就会更加明确:静态的代码(块).成员变量要比构造方法先运行. /** * autho

一、Java基础之static关键字

static关键字可以用来修饰变量.方法.代码块以及内部类. 静态资源从JVM的类加载机制角度来说,它是在类首次被初始化时加载到方法区,而非静态资源需要类new出对象的时候被加载到堆栈里.如:使用Class.forName("xxx")方法初始化某个类来加载静态资源,同样的,在new出对象前会确保该类被初始化了. static变量: 静态变量被所有对象共享,在内存中只有一份.故,被任意对象修改该静态变量后,会影响到所有对象. (PS:在多线程中需要多注意共享资源的使用.) static

黑马程序员——Java基础---有关static(静态)的知识

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流!                                         面向对象—有关static(静态)的知识 可以使用static关键字声明与类而是不与实例相关的变量,方法或代码块. 静态变量: 在编写一个类的时候,实际上就是在描述其对象的行

【Java基础】static关键字相关

static关键字特点: 随着类的加载而加载. 优先于对象存在. 被所有对象共享 可以直接被类名调用. 使用注意: 静态方法只能访问静态成员. 但非静态成员可以访问静态成员. 静态方法中不能使用this,super关键字. 主方法(main)是静态的. 看了上面是不是想睡觉了,单纯的概念是挺烦人的,那下面让我们在实际代码中来加深对他们的认知. 方法的调用可以分为两种: 对象调用: 对象.方法(实参) 类调用: 这个方法所在类的名字.方法(实参)//前提是这个方法必须被static修饰. 没有使用

Java 基础之 static 静态

static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static修饰的成员变量和成员方法独立于该类的任何对象.也就是说,它不依赖类特定的实例,被类的所有实例共享. 只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们.因此,static对象可以在它的任何对象创建之前访问,无需引用任何对象. 用public修饰的static成员变量和成员方法本质是全局变量和全局方法,当声明它类

Java基础(二)-static关键字分析

static关键字是我们在编程中经常会使用到的,但有些可能只知其然而不知其所以然.下面介绍static关键字的作用再通过例子结合说明. static关键字共有五种作用(先说明static所修饰的不会改变其(private.protected.default和public)作用域的范围): 修饰成员变量(非局部变量) 修饰成员方法 修饰代码块 修饰内部类 静态导包 怎么会有五种呢,大部分初学者对前面两种或者加上第三种还是很熟悉的,第四种情况可能一开始的人就比较少知道了,第五种就更少人知道了.下面一