精华内容
下载资源
问答
  • 调用静态代码。 静态static是属于。 1、静态方法只能访问静态成员(非静态可以自由访问静态或非静态成员) ... 当类没有构造函数,依然需要初始化的工作时候,可以使用static{ 初始化工作 }
     调用静态代码块。 静态static是属于类的。
    1、静态方法只能访问静态成员(非静态可以自由访问静态或非静态成员)
    2、静态方法中不可以使用this和super关键字
    3、主函数是静态的

    static {
    静态代码块
    }

    特点:
    1、随着类的加载而执行
      2、只执行一次
     
      当类没有构造函数,依然需要初始化的工作的时候,可以使用static{ 初始化工作 }
     
      ------------构造代码块(非静态代码块)-------------------------
      在创建对象之前执行,创建一次对象执行一次。它的作用:可以给所有对象进行初始化。
     
      类加载 -- 静态代码块 -- 代码块 -- 构造器
     
     
      局部代码块: 在函数中的代码块 。作用:限定函数中的局部变量的生命周期,
      就是局部变量作用域。
    展开全文
  • Java中static学习

    2020-05-19 21:29:27
    静态的属于类,非静态的属于对象,类一旦加载,那么静态就会跟着方法直接进内存,是优先于对象存在 使用:创建对象,再调用非静态方法 静态能访问静态 非静态的能直接访问静态 3.静态代码 static{ 代码 } ...

    static

    1.被static修饰的方法有两种调用方式,一是new 对象调用,而是类名直接调用。

    2.访问静态方法的特点
    静态的不能直接访问非静态的
    静态的属于类,非静态的属于对象,类一旦加载,那么静态的就会跟着方法直接进内存,是优先于对象存在的
    使用:创建对象,再调用非静态方法
    静态能访问静态
    非静态的能直接访问静态的

    3.静态代码块
    static{
    代码
    }

    优先于构造方法执行
    只执行一次

    使用场景:当我们初始化变量的时候,只要求我们初始化一次,可供后面的使用

    展开全文
  • static关键字 static静态方法就是没有this方法 通常写this时候,都是指...非静态成员变量和成员方法是属于对象,而被static修饰成员变量及方法并不属于特定对象。 初始化的顺序先是静态对象,后是非静态对.

    static关键字

    static静态方法就是没有this的方法
    通常写this的时候,都是指“这个对象”或“当前对象”,而且它本身表示对当前对象的引用。

    用于修饰类的成员方法、类的成员变量;可以编写static代码块来优化程序性能

    • 特点:
      • 被所有的对象所共享
      • 可以直接使用类名调用
      • 不能作用于局部变量
      • 在static方法内部不能调用非静态方法,但反过来是成立的

    非静态成员变量和成员方法是属于对象的,而被static修饰的成员变量及方法并不属于特定的对象。
    初始化的顺序先是静态对象,后是非静态对象,并且静态初始化动作只进行一次(当首次生成这个类的一个对象时,或者首次访问那个类的静态数据成员时)


    • 在static静态方法中可以调用静态成员变量,及态成员方法
    • 在static静态方法中不能调用非静态成员变量,及非静态成员方法
    • 静态方法只能调用静态成员
    • 非静态方法可以调用静态成员变量,及静态成员方法
    public class Static_access {
        public static void main(String[] args) {
            Student st = new Student();
            Student.name = "mo fei";
            Student.name();
            st.eat();
        }
    }
    
    class Student {
        static String name;
        public static void name() {
            System.out.println(name);
            sport();
        }
        public static void sport() {
            System.out.println("sport");
        }
        public void eat() {
            System.out.println("eat");
            System.out.println(name);
            sport();
        }
    }
    /*
    mo fei
    sport
    eat
    mo fei
    sport
    */
    

    • static 的优点
      –对对象的共享数据提供单独空间的存储,节省空间,没有必要每一个对象都存储一份
      –可以直接被类名调用,不用在堆内创建对象
    • static 的弊端
      –访问出现局限性。(静态虽好,但只能访问静态)

    代码块

    • 局部代码块
      –局部代码块:存在于方法中,控制变量的声明周期
    public class Part_block {
        public static void main(String[] args) {
            {
                int num = 1;
                for(int i = 0; i < 3; i++)
                    System.out.println(num);
            }
            //当将代码块内部的变量拿出代码块输出时,将会会编译错误
            //System.out.println(num);    //Error
        }
    }
    /*
    1
    1
    1
     */
    
    • 构造代码块
      –构造代码块:提取构造方法中的共性,每次创建对象都会执行,并且在执行构造方法之前执行
    class Stu {
        String name;
        int data;
        Stu() {
            System.out.println("女学生");
        }
    
        Stu(String name, int data) {
            this.name = name;
            this.data = data;
            System.out.println("男学生");
        }
    
        {
            for(int i = 0; i < 3; i++)
                System.out.println("java 学习");
        }
    }
    
    public class Structure_block {
        public static void main(String[] args) {
            Stu stu = new Stu();
            Stu stu2 = new Stu("mofei", 2020);
        }
    }
    /*
    java 学习
    java 学习
    java 学习
    女学生
    java 学习
    java 学习
    java 学习
    男学生
     */
    
    • 静态代码块
      –静态代码块:随着类的加载而加载,只加载一次,加载类时需要做一些初始化,比如加载驱动
    class Stu {
        String name;
        int data;
        Stu() {
            System.out.println("女学生");
        }
    
        Stu(String name, int data) {
            this.name = name;
            this.data = data;
            System.out.println("男学生");
        }
    
        static {
            for(int i = 0; i < 3; i++)
                System.out.println("java 学习");
        }
    }
    
    public class Structure_block {
        public static void main(String[] args) {
            Stu stu = new Stu();
            Stu stu2 = new Stu("mofei", 2020);
        }
    }
    /*
    java 学习
    java 学习
    java 学习
    女学生
    男学生
     */
    

    执行顺序

    一.

    class Code {
        static {
            System.out.println("Code静态代码块");
        }
    
        {
            System.out.println("Code构造代码块");
        }
    
        Code() {
            System.out.print("Code无参构造执行");
        }
    }
    
    public class Order_block {
        public static void main(String[] args) {
            Code c = new Code();
        }
    }
    /*
    Code静态代码块
    Code构造代码块
    Code无参构造执行
     */
    

    二.

    class Code {
        static {
            System.out.println("Code静态代码块");
        }
    
        {
            System.out.println("Code构造代码块");
        }
    
        Code() {
            System.out.println("Code无参构造执行");
        }
    }
    
    public class Order_block {
        static {
            System.out.println("Order_block静态代码块");
        }
    
        {
            System.out.println("Order_block构造代码块");
        }
    
        public Order_block() {
            System.out.print("Order_block 无参构造执行");
        }
        public static void main(String[] args) {
            Code c = new Code();
            Code cc = new Code();
        }
    }
    /*
    Order_block静态代码块
    Code静态代码块
    Code构造代码块
    Code无参构造执行
    Code构造代码块
    Code无参构造执行
     */
    

    static修饰内部类

    普通类是不允许声明为静态的,,只有内部类才可以。

    • 被static修饰的内部类通常被称为嵌套类,嵌套类意味着:1,要创建嵌套类的对象,并不需要其外围类的对象;2,不能从嵌套类的对象中访问非静态的外围类对象。
      外部类.内部类 c = new 外部类.内部类();
    class Outer {
        public static class Inner {
            Inner() {
                System.out.println("Inner");
            }
        }
    }
    
    public class Static_Class {
        public static void main(String[] args) {
            Outer.Inner inner = new Outer.Inner();
        }
    }
    
    • 如果内部类没有用static修饰,只能先创建外部类引用
      外部类 t = new 外部类();
      外部类.内部类 c = t.new 内部类()
    class Outer1 {
        public class Inner {
            Inner() {
                System.out.println("Inner");
            }
        }
    }
    
    public class Static_Class2 {
        public static void main(String[] args) {
            Outer1 t = new Outer1();
            Outer1.Inner inner = t.new Inner();
        }
    }
    
    展开全文
  • 3

    2020-11-29 22:18:09
    实例化一个对象时,先后构造静态成员变量,静态初始化块,成员变量,初始化块,构造方法。 4.类static字段与static字段区别是什么?什么情况应该使用static修饰符? 当使用static修饰数据成员时,此时不单独...

    2.对象作为参数传递的特点是什么?
    当基本数据类型作为参数在方法中传递时,传递的是值。而对象的传递是引用传递,即传递的是对象的地址。

    3.对象初始化顺序是怎样的?
    实例化一个对象时,先后构造静态成员变量,静态初始化块,成员变量,初始化块,构造方法。

    4.类的static字段与非static字段的区别是什么?什么情况应该使用static修饰符?
    当使用static修饰数据成员时,此时不单独属于任何一个类的具体对象,而是属于类的静态数据成员。它被保存于类的内存区的公共存储单元,所以当类的任意一个对象访问它的时候,得到的值都是一样的。当需要类的多个对象公用某个数据时,则需要使用静态数据成员。

    5.Java中的final修饰符都有什么作用?
    final修饰属性,属性为常量;当使用final时,该方法在类中不可被覆盖,此方法保证了程序的安全性于正确性。

    6.Java中 float[10]arr;语句正确么?为什么?
    应该是错误的,Java定义数组时不可以在方括号里指定数组的大小。

    7.Java数组元素类型为基本数据类型和引用类型时,有什么不同?
    前者数组中的元素全部为基本数据类型,后者存储的为对象的地址。

    展开全文
  • 第三次作业

    2020-10-13 13:22:36
    实例化一个对象时,先后构造静态成员变量,静态初始化块,成员变量,初始化块,构造方法。 4.类static字段与static字段区别是什么?什么情况应该使用static修饰符? 当使用static修饰数据成员时,此时不单独...
  • 3 2020 10 13

    2020-10-13 13:44:04
    实例化一个对象时,先后构造静态成员变量,静态初始化块,成员变量,初始化块,构造方法。 4.类static字段与static字段区别是什么?什么情况应该使用static修饰符? 当使用static修饰数据成员时,此时不单独...
  • 什么是VLAN

    2013-10-23 09:59:12
    这种划分VLAN方法最大优点就是当用户物理位置移动时,即从一个交换机换到其他交换机时,VLAN不用重新配置,所以,可以认为这种根据MAC地址划分方法是基于用户VLAN,这种方法缺点是初始化时,所有用户都...
  • 包括测量初始化模块、显示模块、信号频率测量模块、量程自动转换模 、信号周期测量模块、定时器中断服务模块、浮点数格式化模块、浮点数算 术运算模块、浮点数到BCD 码转换模块。 由于数据处理、脉冲计数/定时、...
  • C#微软培训教材(高清PDF)

    千次下载 热门讨论 2009-07-30 08:51:17
    11.3 静态和非静态的方法.129 11.4 方法重载.130 11.5 操作符重载.134 11.6 小 结.137 第十二章 域 和 属 性 .139 12.1 域 .139 12.2 属 性 .143 12.3 小 结 .146 第十三章 事件和索引指示器 .148 ...
  • C#微软培训资料

    2014-01-22 14:10:17
    11.3 静态和非静态的方法.129 11.4 方法重载.130 11.5 操作符重载.134 11.6 小 结.137 第十二章 域 和 属 性 .139 12.1 域 .139 12.2 属 性 .143 12.3 小 结 .146 第十三章 事件和索引指示器 .148 ...
  • 由于采用了函数模块式结构, C语言易于实现结构程序设计。使程序层次结构清晰,便于程序编写、阅读、调试。  在C语言中可从不同角度对函数分类。 1. 从函数定义角度看,函数可分为库函数和用户...
  • 下列属于面向对象开发方法的是(A B C D)。 A) Booch B) UML C) Coad D) OMT 6. 软件危机的主要表现是(B D)。 A) 软件成本太高 B) 软件产品的质量低劣 C) 软件开发人员明显不足 D) 软件生产率低下 7...
  • 在这一章最后,我们将更贴近地观察初始化过程:自动成员初始化、指定成员初始化初始化的顺序、static(静态初始化以及数组初始化等等。 (5) 第5章:隐藏实现过程 本章要探讨将代码封装到一起方式,以及在库...
  • flash shiti

    2014-03-14 10:32:41
    39.以下操作哪几项属于恢复上次操作? A. 打开Edit菜单下Redo命令 B. 按Crrl+z键 C. 按Crrl+y键 D. 打开Edit菜单下Undo命令 40.Number将参数转换成数值其返回值有哪几种情况? A. 如果X为一数字,则返回值...
  • c#学习笔记.txt

    热门讨论 2008-12-15 14:01:21
    在 C 或 C 中与委托最接近的是函数指针,但函数指针只能引用静态函数,而委托可以同时引用静态方法和实例方法。在后一种情况中,委托不仅存储对方法入口点的引用,还存储对调用其方法的对象的引用。与 C 函数指针...
  • JAVA面试题最全集

    2010-03-13 13:09:10
    静态变量和静态方法意义,如何引用一个类的静态变量或者静态方法? 50.JAVA语言如何进行异常处理,关键字:thorws,throw,try,catch,finally 51.Object类(或者其子类)finalize()方法在什么情况下被调用? 52....
  • 软件工程教程

    热门讨论 2012-07-06 23:10:29
    传统手工方式对图书信息管理已越来越不能适应社会发展需要,尤其是随着计算机网络和Internet普及,运用先进信息管理系统对信息进行科学和网络管理,已成为图书信息管理系统发展趋势。 系统研发...
  • 看到网上有个方案说:主项目负责加载组件,由于主项目和组件之间是隔离的,那么主项目如何调用组件ApplicationLike的生命周期方法呢,目前采用的是基于编译期字节码插入的方式,扫描所有的ApplicationLike类(其有一...
  • 4.1 安装和初始化:给出程序存储形式、操作命令、反馈信息及其做含意、表明安装完成测试实例以及安装所需软件工具等。 4.2 输入:给出输入数据或参数要求。  ● 数据背景:说明数据来源、存储媒体、出现...
  • 2-11 在一个for循环中,可以初始化多个变量吗?如何实现? 解: 在for循环设置条件第一个";"前,用,分隔不同赋值表达式。 例如: for (x = 0, y = 10; x ; x++, y++) 2-12 执行完下列语句后,n值为多少? ...
  • 在一小时内学会 C#(txt版本)

    热门讨论 2009-08-19 18:09:37
    4. C# 中没有全局变量或全局函数,取而代之的是通过静态函数和静态变量完成的。 数据类型 所有 C# 的类型都是从 object 类继承的。有两种数据类型: 1. 基本/内建类型 2. 用户定义类型 以下是 C# 内建类型的...
  • 这些变量不同于它们普通对应物,因为访问某个变量(通过其 get 或 set 方法)每个线程都有自己局部变量,它独立于变量的初始化副本。ThreadLocal 实例通常是类中 private static 字段,它们希望将状态与某一...
  • 字典基本用法 - 字典的特点 / 创建字典 / 添加元素 / 删除元素 / 取值 / 清空 字典常用操作 - keys()方法 / values()方法 / items()方法 / setdefault()方法 基础练习 - 跑马灯效果 / 列表找最大元素 / 统计考试...
  • 负责初始化工程、工程结构组织、debug、编译、打包等工作 - 有固定或者约定工程结构,规定软件所依赖不同类别资源存放路径甚至代码写法等 - 软件依赖资源可能来自软件开发者,也有可能是第...
  • 组成:表空间、段、区、块的组成层次 六、 oracle安装、卸载和启动  硬件要求 物理内存:1GB 可用物理内存:50M 交换空间大小:3.25GB 硬盘空间:10GB  安装 1. 安装程序成功下载,将会得到如下2个文件: ...
  • 这个项目可选择当系统开机时先行对AGP或是PCI插槽来做初始化的动作。 [AGP]:当系统开机时,它将会先对AGP插槽来做初始化的动作。 [PCI Slot]:当系统开机时,它将会先对PCI插槽来做初始化的动作。 AGP Data ...

空空如也

空空如也

1 2
收藏数 26
精华内容 10
关键字:

属于非静态初始化块特点的是