【Java面试题】16 静态代码块,main方法,构造代码块,构造方法
public class HelloB extends HelloA{
public HelloB()
{
System.out.println("HelloB");
}
{
System.out.println("I am B class");
}
static{
System.out.println("static B");
}
public static void main(String[] args){
System.out.println("HelloB的主方法");
new HelloA();
new HelloA();
new HelloB();
new HelloB();
}
}
class HelloA{
public HelloA()
{
System.out.println("HelloA");
}
{
System.out.println("I am A class");
}
static{
System.out.println("static A");
}
}
运行结果:
static A
static B
HelloB的主方法
I am A class
HelloA
I am A class
HelloA
I am A class
HelloA
I am B class
HelloB
I am A class
HelloA
I am B class
HelloB
相关例子:http://www.cnblogs.com/wangzhongqiu/p/6288452.html
public class testdaimakuia {
public static void main(String[] args) {
B b = new B();
}
}
class A {
{
System.out.println("A的构造块");
}
A() {
System.out.print("A");
}
}
class B {
{
System.out.println("B的构造块");
}
B() {
System.out.print("B");
}
A a = new A();
}
执行结果:
B的构造块
A的构造块
AB
public class testdaimakuia {
public static void main(String[] args) {
B b = new B();
}
}
class A {
static {
System.out.println("A的静态代码块");
}
{
System.out.println("A的构造块");
}
A() {
System.out.print("A");
}
}
class B {
static {
System.out.println("B的静态代码块");
}
{
System.out.println("B的构造块");
}
B() {
System.out.print("B");
}
static A a = new A();
}
执行结果:
B的静态代码块
A的静态代码块
A的构造块
AB的构造块
B
静态成员变量==静态代码块(按照出现先后顺序执行)>mian方法>构造代码块==成员变量(按照出现先后顺序执行)>构造方法
【Java面试题】16 静态代码块,main方法,构造代码块,构造方法的更多相关文章
- 类(静态)变量和类(静态)static方法以及main方法、代码块,final方法的使用,单例设计模式
类的加载:时间 1.创建对象实例(new 一个新对象时) 2.创建子类对象实例,父类也会被加载 3.使用类的静态成员时(静态属性,静态方法) 一.static 静态变量:类变量,静态属性(会被该类的所 ...
- jmeter 的java请求代码在main方法里面执行
1.新建一个java请求执行加法类 public class TestDemo { public int Tdemo(int a,int b){ int sum = 0; sum = a+b; ret ...
- 一个java文件中可包含多个main方法
java中的main方法是java应用程序的入口,java程序在运行时,首先调用执行main方法.但并不是说java中只能有一个main方法,不同类中都可以包含main方法.当JVM进行编译时,会提示 ...
- Java如何运行一个class文件的main方法
假设如下目录有个class文件,并且里面有main方法: d:\workspace\eclipse\com\JavaCore\classloader\MyClassLoader.class 首先进入c ...
- Java连载67-深入一维数组、main方法中的args参数详解
一.复习了一维数组,还复习了强制类型转换的注意点. package com.bjpowernode.java_learning; public class D67_1_GoDeepIntoArrays ...
- java项目导出jar文件时指定main方法的类
需要先运行一下main函数,eclipse的Export-->Runnable JAR File ---> 下的Launch configuration下拉列表才会有记录.如果想要删除下拉 ...
- Java读取文件夹大小的6种方法及代码
(一)单线程递归方式 package com.taobao.test; import java.io.File; public class TotalFileSizeSequential { publ ...
- Java,第16天,属性与方法;
public class 类名{ private double 财产 = 0://设一个财产的属性: public void 一个月工资(){ this.财产 +=4500: }//设一个方法增加财产 ...
- java面试题----IO流种类及接口方法
java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类? Java中的流分为两种,一种是字节流,另一种是字符流,分别由四个抽象类来表示(每种流包括输入和输出两种 ...
- Java面试题之Request对象的主要方法
setAttribute(String name,Object):设置名字为name的request的参数值 getAttribute(String name):返回由name指定的属性值 getAt ...
随机推荐
- php的安装
首先我们安装nginx #0.安装ningx(可选cd /disk1/toolsrpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/ngi ...
- Angularjs 控制器controller的作用
我们在view中给模型的一个参数name赋值 “hello world” . 这是一种简单的赋值,我们可以在视图中通过 ng 指令(以ng-开头的指令)实现了简单的赋值,如果遇到复杂的逻辑运算操作,那 ...
- 网络编程之TCP/UDP及其流程比较(转)
TCP与UDP的区别 基于连接与无连接 对系统资源的要求(TCP较多,UDP少) UDP程序结构较简单 流模式与数据报模式TCP保证数据正确性,UDP可能丢包TCP保证数据顺序,UDP不保证 具体编程 ...
- python学习之str.lstrip()
str.lstrip([chars]) 删除从开头开始指定的字符串,然后返回结果字符串. >>> '://www.example.com'.lstrip('w://') '.exam ...
- mysql show full processlist
processlist命令的输出结果显示了有哪些线程在运行,可以帮助识别出有问题的查询语句,两种方式使用这个命令. 1. 进入mysql/bin目录下输入mysqladmin -u -p -h127. ...
- JavaScript高级 面向对象(4)--值类型和引用类型
说明(2017.3.30): 1. 变量只存数据本身就是值类型,如var a = 123, var a = "123"; 变量存的是一个引用,数据存在别的地方,就是引用类型,如数 ...
- html5标签video(播放器)学习笔记(二)-基本操作
html5标签video(播放器)学习笔记(二)-基本操作 subying 发布时间: 2014/12/01 23:59 阅读: 13008 收藏: 21 点赞: 3 评论: 0 摘要 本文介绍了ht ...
- 一款基于javascript的3D玻璃破碎特效
之前为大家介绍了一款 html5 canvas实现图片玻璃碎片特效.今天要给大家带来一款基于javascript的3D玻璃破碎特效.效果图如下: 在线预览 源码下载 html代码: <div ...
- curator教程二——分布式锁
简介 在分布式环境下,为了防止多个服务同时修改同一个值,出现数据同步问题,通常用redis和zookeeper做分布式锁,在这里我们用zookeeper做分布式锁,并和单点环境中ReenTranL ...
- 【C#】Config配置文件的读写,及无法写入/保存配置文件的问题
目的: 一些数据为了在项目打包好后也能方便的修改和调用,通常会把这些数据放到配置文件中,避免硬编码,修改配置文件内容更方便,而不用修改源代码. 使用: 在解决方案资源管理器中找到App.config文 ...