1 变量

1.1 变量的【定义】

1.2 变量的【作用域】

1.3 变量的【初始值】

1.4 补充:缓存变量

1.5 变量的【分类】与【未初始化情况】

2 类对象

2.1 类对象的初始化/构造过程

  • 1 【对象】的初始化流程

  • 2 实验
class Base{
static { System.out.println("[Base:static area]"); }//step1
{ System.out.println("Base:instance area"); }//step3
Base(){ System.out.println("<Base:constructor>"); }//step4
}
public class Create extends Base{
static { System.out.println("[Create:static area]"); }//step2
{ System.out.println("Create:instance area"); }//step5
Create(){//step6
// super();//默认:首先调用super()
System.out.println("<Create:constructor>");
}
public static void main(String args[]){ Create create = new Create(); }
}
//Output
[Base:static area]
[Create:static area]
Base:instance area
<Base:constructor>
Create:instance area
<Create:constructor>
  • 3 360公司2020春招技术C卷试题

    (题目小有改动)
class Clazz {
public static int x;
public boolean z;
public static String printX(Clazz clazz) { return "x:" + clazz.x; }
public static String printZ(Clazz clazz){ return "z:" + clazz.z; }
} public class Singleton {
private static Singleton singleton = new Singleton();
public int counter0;//[值域/类的属性 →基本类型变量] 默认 初始化为0
public static int counter1;//[值域/类的属性] 默认 初始化为0
public static int counter2 = 0;//[值域/类的属性]
public Clazz clazz;//[值域/类的属性 → 引用类型变量]
private Singleton() {
int x;//[局部变量]
// System.out.println(x);//局部变量未初始化 ∴编译时报错 [局部变量]
System.out.println(Clazz.printX(clazz));//x:0 /[值域/类的属性 → 引用类型变量 de 静态属性]
// System.out.println(Clazz.printZ(clazz));//运行时报错 (ExceptionInInitializerError) [值域/类的属性 → 引用类型变量 de 非静态属性]
counter0++;
counter1++;
counter2++;
}
public static Singleton getInstance(){ return singleton; }
public static void main(String[] args) {
Singleton singleton = Singleton.getInstance();
System.out.println(singleton.counter0);//1
System.out.println(Singleton.counter1);//1
System.out.println(Singleton.counter2);//0
}
}
x:0
1
1
0

[Java]变量及其初始化 与 类对象的初始化的更多相关文章

  1. JAVA之等号、传类对象参数与c++的区别

    在JAVA中用等号对类对象进行赋值,实际上操作的是对象的地址. eg: package MyText; class ClassA { int value; public void seta(int v ...

  2. C++派生类中如何初始化基类对象(五段代码)

    今天收到盛大的面试,问我一个问题,关于派生类中如何初始化基类对象,我在想派生类对于构造函数不都是先构造基类对象,然后在构造子类对象,但是如果我们在成员初始化列表先初始化派生类的私有成员,在函数内去调用 ...

  3. Java类的初始化与实例对象的初始化

    Java对象初始化详解 2013/04/10 · 开发 · 1 评论· java 分享到:43 与<YII框架>不得不说的故事—扩展篇 sass进阶篇 Spring事务管理 Android ...

  4. 《Java核心技术》 -- 读书笔记 ② - 类 | 对象 | 接口

    对象vs对象变量 “对象” 描述的是一个类的具体实例,他被java虚拟机分配在 "堆" (Heap)中. “对象变量” 为一个对象的引用(对象变量的值=记载着具体对象的位置/地址) ...

  5. JAVA反射机制教程-获取类对象

    1. 什么是类对象 类对象,就是用于描述这种类,都有什么属性,什么方法的 2. 获取类对象 获取类对象有3种方式(1). Class.forName(2). Hero.class(3). new He ...

  6. 113-PHP使用instanceof判断变量是否为某个类对象

    <?php class ren{ //定义人类 } class mao{ //定义猫类 } $ren=new ren(); //实例化一个人类的对象 $mao=new mao(); //实例化一 ...

  7. java类对象的初始化顺序

    在下面这个例子中,我们分别在父类和子类中测试了静态代码块.普通代码块.静态成员变量.普通成员变量.构造器.静态内部类. 一:代码块及变量测试 class Field{ public static St ...

  8. C++ 类对象的初始化顺序 ZZ

    C++构造函数调用顺序 1.     创建派生类的对象,基类的构造函数优先被调用(也优先于派生类里的成员类): 2.    如果类里面有成员类,成员类的构造函数优先被调用:(也优先于该类本身的构造函数 ...

  9. Java在的时候,类定义HashSet初始化方法

    Java非常多的时间,应使用HashSet搜索功能,类的则定义,是HashSet类型的,我们定义数据成员之后,不好直接调用add函数来实现初始化,这个时候怎么办? 我们能够这样来做: public s ...

  10. java socket之传输实体类对象

    一.TCP编程     TCP协议是面向连接的.可靠地.有序的,以字节流的方式发送数据.java实现TCP通信依靠2个类:客户端的Socket类和服务器端的ServerSocket类. 基于TCP通信 ...

随机推荐

  1. k8s集群部署kafka

    一.部署步骤 1.部署NFS并挂载共享目录 2.部署zookeeper集群 3.部署kafka集群 4.测试kafka 二.部署NFS并挂载共享目录 注:使用云产品的NAS存储可跳过此步骤 1.服务端 ...

  2. == 和 equal 的区别

    == 比较的是两个对象的索引是否相同: equal 比较的是两个对象内容是否相同: int a = 1;long b = 1L;a==b? 答案是 对:因为a和b指向的索引地址相同. 再例如 Stri ...

  3. 09 Hive安装与操作

    一.安装Hive 下载解压重命名权限 配置环境变量 修改Hive配置文件 修改/usr/local/hive/conf下的hive-site.xml 1 2 3 4 5 6 7 8 9 10 11 1 ...

  4. springmvc拦截器的简单创建

    找到前端控制器配置文件: 配置拦截器: 实现接口,定义自己的规则:

  5. Docker部署【项目管理和问题跟踪工具-Redmine】

    创建网络 docker network create redmine-network 启动Mysql数据库 docker run -d --name mysql --network redmine-n ...

  6. Keil MDK5编译时出现错误:error: L6002U: Could not open file …\obj\main.o: No such file or directory,

    原因:电脑系统用户名中存在中文字符 解决:用户环境变量,找到变量 TEMP 和 TMP,将变量值中的"%USERPROFILE%"使用"C:\user\default&q ...

  7. vue使用阿里oss上传

    1.首先用包管理工具 npm install ali-oss --S 下载oss依赖包 2.在util文件里创建util.js文件,在该文件写入 export default { getClient: ...

  8. SQLServer游标(Cursor)简单例子

    DECLARE @username nvarchar(50),@password nvarchar(50),@num int--声明游标变量 DECLARE myCursor CURSOR FOR s ...

  9. Javaweb学习笔记第九弹

    MyBatis案例--环境准备 1.依据之前在Navicat建立数据表的方法,新建立一个数据表 2.将数据表的相关内容表现在Java文件的实例上:即成员变量和set.get成员方法 3.new一个测试 ...

  10. MySQL Mock大量数据做查询响应测试

    上个迭代版本发布后,生产环境业务同事反馈仓配订单查询的页面加载时间过长. 因为页面原来是有的,这次开发是在原来基础上改的,因此没有额外做性能.测试环境只调用接口请求了少量数据去验证功能.在对比该迭代添 ...