文档章节

127.静态方法、非静态方法、构造方法

Lucky_Me
 Lucky_Me
发布于 2018/05/31 11:17
字数 279
阅读 26
收藏 0

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

1.静态方法和非静态方法的区别:

  参考:https://zhidao.baidu.com/question/1433773942389340379.html

2. 静态方法 非静态方法,构造方法执行顺序

2.1 创建B类 

//--------------------------------------------------------------------------------

package test;

public class B  {
        
          B() {  
               System.out.println("B构造块3");  //3. 自己的构造方法
            }  
         
        static {  
            System.out.println("B静态块1");  //1.自己的静态方法
        } 
       
        {  
               System.out.println("B非静态块2");  //2. 自己的非静态块
            }
        
        public void testB(){
            System.out.println("我是B类的特有方法");
        }
}
 

 

2.2 测试执行顺序

3. 在2的基础上延伸一点

3.1 创建 A类

//--------------------------------------------------------------

package test;

public class A {
        
        A(){
            System.out.println("我是A类的构造无参方法");
        }
        
        static {  
                System.out.println("A静态块");  
            } 
        
        {  
            System.out.println("A非静态块"); 
        } 
        
        //在A中的方法 调用 B的方法
        public void testA(){
            B b = new B();
            b.testB();
            
        }

        //私有
        @SuppressWarnings("unused")
        private void testPrivateA(){
            System.out.println("我是A类private特有方法");
        }
        
}
 

3.2 让B类集成 A类

3.3 测试 执行顺序

这个结果稍微复杂点

 

 

 

© 著作权归作者所有

Lucky_Me
粉丝 17
博文 234
码字总数 90101
作品 0
美国
私信 提问
静态工厂方法的一些惯用名称?举例?

静态工厂的优势见源码|静态工厂返回声明的返回类型的子类型的实例。 本文记录静态工厂方法的一些惯用名称,开发中应遵循这些好的习惯。 valueOf 该方法返回的实例与它的参数具有相同的“值”...

monkeysayhi
2017/10/25
0
0
Android代码块执行顺序总结

子类、父类变量,代码块,以及构造方法的加载顺序,是我们在程序开发中时不时遇到的一个问题,也是比较容易混淆的。 基础准备: 变量: 成员变量(叫类变量、实例变量)和局部变量 方法: 成...

翻滚吧李博
2017/12/18
0
0
类装载步骤

类装载步骤 在Java中,类装载器把一个类装入Java虚拟机中,要经过三个步骤来完成:装载、链接和初始化,其中链接又可以分成校验、准备和解析三步,除了解析外,其它步骤是严格按照顺序完成的...

北极之北
2016/03/10
147
0
初学者必看--.NET中的静态与非静态的异同。

静态类 vs 普通类 静态类与普通类的区别有以下几点: 1)静态类无法实例化而普通类可以; 2)静态类只能从System.Object基类继承;普通可以继承其它任何非static和非sealed类,但也只能继承一...

余二五
2017/11/16
0
0
静态代码块、非静态代码块、构造方法的执行顺序

java中经常有一些静态块,这是用来在生成类之前进行的初始化,无论java还C++语言中的static,都是最先初始化好的。结构如下: static { 静态语句代码块 } { 非静态语句代码块 } 异同点 相同点...

IT-Dennis
2015/08/11
778
0

没有更多内容

加载失败,请刷新页面

加载更多

学习记录 互联网项目---3(Ribben优化)

3.3 负载均衡策略 {服务名称}.ribbon.NFLoadBalancerRuleClassName=具体策略 service:#服务名 ribbon: NFLoadBalancerRuleClassName : com.netflix.loadbalancer.RandomRule ......

Pole丶逐
28分钟前
3
0
redis - 的线程模型

redis 的线程模型 redis 内部使用文件事件处理器 file event handler,这个文件事件处理器是单线程的,所以 redis 才叫做单线程的模型。它采用 IO 多路复用机制同时监听多个 socket,根据 so...

Canaan_
30分钟前
7
0
IT兄弟连 HTML5教程 使用盒子模型的浮动布局

虽然使用绝对定位可以实现页面布局,但由于调整某个盒子模型时其他盒子模型的位置并不会跟着改变,所以并不是布局的首选方式。而使用浮动的盒子模型可以向左或向右移动,直到它的外边缘碰到包...

老码农的一亩三分地
30分钟前
3
0
ubuntu上编译和使用easy_profiler对C++程序进行性能分析

本文首发于个人博客https://kezunlin.me/post/91b7cf13/,欢迎阅读最新内容! tutorial to compile and use esay profiler with c++ on ubuntu 16.04 <!--more--> Guide compile git clone h......

kezunlin
52分钟前
5
0
nginx master-worker进程工作原理

nginx的master-worker进程模型是其能够高性能的处理用户请求的原因之一,而且这里的每个worker进程都只会启动一个线程来处理用户请求。通常我们会将worker进程的数量设置得与我们的CPU数量一...

爱宝贝丶
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部