首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java面试中常被问到几大技术难题

5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上在switch(expr1)中,expr1只能整数表达式或者枚举常量(更大字体),整数表达式可以是int基本类型或...9、是否可以从一static方法内部发出对非static方法调用? 不可以。...也就是说,当一static方法被调用时,可能还没有创建任何实例对象,如果从一static方法中发出对非static方法调用,那个非static方法关联到哪个对象上呢?...11、内部类可以引用它包含类成员?有没有什么限制? 完全可以。如果不是静态内部类,那没有什么限制!...如果你把静态嵌套类当作内部类一种特例,那在这种情况下不可以访问外部类普通成员变量,而只能访问外部类中静态成员。 这11常被问到问题,你get到了吗?

56900

C#基础02

= == 六 用来判断两事物之间比较关系 返回值均为布尔型 布尔类型 自包含有真假两值,false true(默认值flase) 特别地注意:对于成员变量可以不赋初值,而方法内变量则必须需要赋初值...(取反) 基本格式: 表达式1 逻辑运算符 表达式2(一般连接关系表达式,需要返回bool型数值) 同样,逻辑表达式返回值仍然bool型数值。...1.实例化类为对象:classT sl=new classT(); 2.非静态方法或属性可以通过对象属性来引用: sl.ff(); 静态方法中不能访问静态成员 在static 静态方法函数中引用非静态方法导致...for 格式: for (表达式1;表达式2;表达式3) { ​ 循环体; } 表达式1一般定义初值,表达式2判断条件,表达式3用来改变循环变量值。...goto goto 语句,可实现从一代码块跳到另一代码块,非常灵活,代码跳跃较大,不便于阅读,所以不建议使用。 常量 const 常量名 = 常量值; 一经赋值,就不允许再次赋值。

12600
您找到你想要的搜索结果了吗?
是的
没有找到

Java基础60问

Q25:switch.case语句表达式可以放什么? 答:JDK1.5以前: byte, short, char, int. JDK1.5: 加入功能, 可以放枚举....答:使用变量遵循就近原则, 局部位置有就使用, 没有就去本类成员位置找, 有就使用, 没有就去父类成员位置找, 有就使用. 没有就报错.(这里不考虑父类父类)....Q36:什么封装? 答:封装就是隐藏对象属性和实现细节, 仅对外提供公共访问方式. Q37:封装指就是private, 这句话对?...答:它是一关键字, 表示”私有”意思, 被它修饰内容只能在本类中直接访问(包括私有成员)....在内存中存储位置不同. (1)静态变量存储在方法区静态区. (2)成员变量存储在堆内存. 3.

52810

Java 中文官方教程 2022 版(三)

静态方法常见用途访问静态字段。...局部类是非静态,因为它们可以访问封闭块实例成员。因此,它们不能包含大多数类型静态声明。 你不能在块内部声明接口;接口本质上静态。...(常量变量指声明为 final 并用编译时常量表达式初始化原始类型或String类型变量。编译时常量表达式通常是一可以在编译时评估字符串或算术表达式。更多信息请参见理解类成员。)...本节涵盖以下主题: 声明匿名类 匿名类语法 访问封闭范围本地变量,并声明和访问匿名类成员 匿名类示例 声明匿名类 虽然本地类类声明,匿名类表达式,这意味着你在另一表达式中定义类...匿名类在成员方面与局部类具有相同限制: 您不能在匿名类中声明静态初始化程序或成员接口。 一匿名类可以有静态成员,只要它们常量变量。

15500

14道Java开发岗面试题

) 因此圣诞树 4、是否可以从一static方法内部发出对非static方法调用?...5.抽象类和接口中都可以包含静态成员变量, 抽象类中静态成员变量访问类型可以任意, 但接口中定义变量只能public static final类型,并且默认即为public static final...一类可以实现多个接口,但只能继承一抽象类 接口中不能有构造方法 接口中没有普通成员变量 接口中所有方法必须都是抽象,不能有非抽象普通方法 接口中抽象方法只能public类型,并且默认即为...答:创建了两, “xyz” , new String , 存储位置不一样,前者存储在常量池中,后者在堆中分配存储空间。...(创建了一对象) 编译可以对字符串常量直接相加表达式进行优化, 不必要等到运行期去进行加法运算处理, 而是在编译时去掉其中加号, 直接将其编译成一这些常量相连结果。

38410

Java 后台开发面试题分享一

同为逻辑与运算符时:& 运算符在运算时两边都会计算,然后再判断;&& 运算符短路与运算,如果 && 左边表达式 false,右边表达式会被直接短路掉,不会进行运算。...---- 是否可以从一 static 方法内部发出对非 static 方法调用? 不可以。...当使用双引号定义对象时,Java 环境首先去字符串缓冲池寻找内容相同字符串,如果存在就拿出来使用,否则就创建一字符串放在缓冲池中。...2、在类及其父类被加载同时会将静态成员进行加载;主要包括静态成员变量初始化,静态代码块执行;在加载时按代码先后顺序进行。...3、需要类加载完成后,开始创建对象;首先会加载类以及其父类静态成员,主要包括非静态成员变量初始化,非静态代码块(构造块)执行;在加载时按代码先后顺序进行。

67210

c++关键字完整列表及含义

字符(C++11) class 定义一类 compl 位非运算符替代表示符 const 定义常量常量表达式 constexpr 定义编译时计算常量表达式(C++11) const_cast 移除对象常量性...export 模板定义导出(C++20中重新获得含义) extern 声明一变量或函数在其他地方定义 false 布尔字面量false float 单精度浮点数类型 for 循环控制语句 friend...空指针字面量(C++11) operator 定义或重载操作符 or 逻辑或运算符替代表示符 or_eq 位或赋值运算符替代表示符 private 类访问修饰符,私有成员 protected 类访问修饰符...short 短整型数据类型 signed 有符号类型修饰符 sizeof 计算类型或变量大小 static 声明静态存储期变量或类静态成员 static_assert 编译时断言(C++11)...在模板中声明类型名称 union 定义联合体,多个成员共享同一内存位置 unsigned 无符号类型修饰符 using 引入命名空间成员或定义类型别名 virtual 声明虚函数或虚基类 void

9910

Oracle Java类和对象

下表显示了Alpha类成员对于可以应用于它们每个访问修饰符可见位置。...(args)== ==但这是不鼓励,因为它没有明确说明它们类方法== 静态方法常见用法访问静态字段。...(常量变量基元类型或字符串类型变量,声明为final并用编译时常量表达式初始化。编译时常量通常是可以在编译时计算字符串或算术表达式。有关详细信息,请参阅了解类成员。)...匿名类对其成员也有与本地类相同限制: 不能在匿名类中声明静态初始化器或成员接口。 匿名类可以有静态成员,前提它们常量变量。...如果不需要此访问权限,请使用静态嵌套类。 枚举类型 枚举类型一种特殊数据类型,它允许变量一组预定义常量。变量必须等于为其预定义值之一。

78300

JAVA 基础

静态成员变量只有一份拷贝,任何对象修改后,其他对象看到都是值          2)static 成员函数  可以将一方法声明为static静态方法在没有类对象情况下就产生了可以通过类名调用,也可以通过对象名调用静态方法不能访问静态成员变量...因为静态方法在没有对象存在情况下就已经先期存在,但是此时没有任何对象存在,也就没有对象成员变量空间和值,所以,无法访问            static成员函数应用:  经常在一类中定义若干多静态方法...,执行一次,     且只执行一次静态初始化代码块只能访问静态成员变量、调用静态成员方法  4....,编译错误,运行时候子类方法         3.静态方法:被覆盖静态成员访问父类。...一般情况下,多态性访问都是父类,父类有,则编译通过,否则编译失 败 有一特殊,对于被覆盖成员方法,运行时子类,父类引用,不能访问子类特有的成员

54500

Java基础

封装目的:增强安全性和简化编程,使用者不必在意具体实现细节,而只是通过外部接口即可访问成员。 继承 继承指将多个相同属性和方法提取出来,新建一父类。...浮点型包装类 valueOf 方法返回对象。 布尔型包装类 valueOf 方法 Boolean类静态常量 TRUE | FALSE。 13....31. java类里面可以再定义一 java类里面还可以定义一类,即内部类。java内部类分为: 成员内部类、方法(局部)内部类、静态内部类、匿名内部类 。...他和成员内部类区别在于局部内部类访问权限仅限于方法或作用域内。 静态内部类: 静态内部类和成员内部类相比多了一static修饰符。只能访问外部类静态成员变量与静态方法。...静态内部类静态成员访问外部类静态变量,而不可访问外部类静态变量。 匿名内部类: 没有类名,没有class关键字也没有extends和implements等关键字修饰。

1.3K10

常见Java基础面试题目分享一

数组越界检查可以避免访问到其它位置数据 Java基本数据类型与引用数据类型 8 种基本数据类型 整数型 : byte(1字节 - 2^7 ~ 2^7-1)、short(2字节 - 2^15...static修饰成员被称为类成员,类成员无法访问实例成员,因为类成员属于类,类成员范围比实例成员作用域更大,很容易出现类成员初始化完成时但实例成员还没有被初始化,这时如果类成员访问实例成员就会引起错误...static修饰成员会优先于对象存在,静态方法中没有this因为静态方法和类同时被加载,而this随着对象创建而存在 String s1 = “abc” 与 new String(“abc...”)区别 String s1 = "abc"直接在字符串常量池中创建,而使用new String(“abc”)则会现在常量池中创建一,然后new 一String对象放到堆中,所以使用new...、更灵活代码,Lambda表达式类型依赖上下文环境,由编译器推断出来 Stream流 Stream用来操作数据源(集合、数组) Stream流自己不会存储元素,不会改变源对象它会产生一集合或值

19610

「JAVA」变量、表达式、数据类型、数据类型转换详解

局部变量:变量除了成员变量之外,其他就是局部变量;局部变量根据定义位置不同有3种表现形式:方法形参,方法内变量,代码块变量。...变量作用域:变量作用范围或者可访问范围,只有作用域内,变量才能被其他程序代码访问。当一变量被定义时,它作用域就确定了: 从定义开始到定义所在花括号结束。...,布尔常量false,true等; 二、表达式 由数字、运算符、数字分组符号(括号)、常量、变量等能表达一有意义结果排列组合;用运算符号连接变量/常量可称为表达式。...默认情况下,布尔类型false; 整数类型:有byte、short、int、long 这4种类型; 整型常量四种表示形式: 二进制整数:0B或0b开头(Java7特性),如:int a =...默认情况下,一浮点类型字面量默认double类型.若要声明一常量为float型,则需在常量后加上f 或 F,double常量后面的D或d可省略。

67310

java面试强基(2)

字符型常量和字符串常量区别? 形式 : 字符常量单引号引起字符,字符串常量双引号引起 0 或若干个字符。...含义 : 字符常量相当于一整型值( ASCII 值),可以参加表达式运算; 字符串常量代表一地址值(该字符串在内存中存放位置)。...静态方法为什么不能调用非静态成员静态方法属于类,在类加载时候就会分配内存,可以通过类名直接访问。而非静态成员属于实例对象,只有在对象实例化之后才存在,需要通过类实例对象去访问。...在类静态成员不存在时候静态成员就已经存在了,此时调用在内存中还不存在静态成员,属于非法操作。 静态方法和实例方法有何不同?...访问成员是否存在限制 ​ 静态方法在访问本类成员时,只允许访问静态成员(即静态成员变量和静态方法),不允许访问实例成员(即实例成员变量和实例方法),而实例方法不存在这个限制。

27630

Java核心-核心类与API(1)

3、字符串常量池 3.1 概述 1)目的 实际开发中,String类使用频率非常高一种引用对象类型。但由于不断地创建字符串对象会极大地消耗内存。...类静态成员变量也放在堆区,其中基本数据类型直接保存值,而复杂类型保存指向对象引用,非静态成员变量在类实例化时开辟空间并且初始化。要知道类几个时机,加载-连接-初始化-实例化。...4)静态域 位于方法区一块内存。存放类中以static声明静态成员变量。...它有名字叫做Non-Heap(非堆),目的与Java堆区分开。(拓展:方法区线程安全。由于所有的线程都共享方法区,所以,方法区里数据访问必须被设计成线程安全。...(推荐) 分割:使用split()方法,并传入正则表达式 拼接 使用静态方法join(),用指定字符串连接字符串数组 对字符串常量使用 concat() 方法,也可以直接"+"号拼接 案例

29421

【笔记】《深入理解C++11》(下)

0 绪 本篇看完《深入理解C++11:C++11特性解析与应用》后做笔记下半部分....必须常量表达式 常量表达式值必须在使用前初始化, 但是如果没有代码用到其地址, 编译器可以不生成数据, 直接将常量表达式作为编译时期值使用 编译时浮点常量表达式精度至少要等于/高于运行时浮点数常量精度...注意此时类构造函数函数体必须为空, 所有成员都只能依靠常量表达式在初始化列表中初始化 常量表达式不能用于virtual 常量表达式函数不需要重写非常量版本, 编译器会自动生成, 重写反而会报错 当模板函数声明为常量表达式后...注意函数参数包必须函数最后一参数包(模板参数包没有这个要求) 模板参数包可以在以下七位置展开, 但是不用太关注, 这些展开位置基本覆盖常见需求: 表达式 初始化列表 基类描述列表 类成员初始化列表...位域不能取地址 位域不能静态成员 位域在内存中从低向高顺序放置 位域典型应用是bool极限压缩(bool:1)和RGB565分配(R:5, G:6, B:5) 语法和内存布局如下:

1K30

IntelliJ IDEA 2023中文

IntelliJ IDEA 2023.针对用户界面进行了大量重构,这些改进都是基于收到宝贵反馈而实现。...按Ctrl + Shift + Space两次以获取module.getProject()而无需任何额外工作。 静态成员完成 允许您轻松使用静态方法或常量。...语言注入 将选定语言编码辅助带到另一语言中表达式和字符串文字,并具有您通常拥有的所有优点。...检测重复 项即时查找重复代码片段。即使您只是要提取变量,常量或方法,IntelliJ IDEA也会告诉您,有一类似的代码片段可以与您正在使用代码片段一起替换。...内置开发人员工具 为了简化您工作流程,IntelliJ IDEA从一开始就提供了无与伦比工具集:反编译器,字节码查看器,FTP等等。

45130

Java面试之关键字

,而不需要创建对象就可以访问 void:表示该方法没有返回值 main:主方法,程序开始 (String[] args):参数,传递进来一字符串数组参数 sizeof Java 关键字 不是...但非静态内部类需要持有对外部类引用。 非静态内部类能够访问外部类静态和非静态成员静态类不能访问外部类静态成员。他只能访问外部类静态成员。...Java中是否可以覆盖(override)一private或者static方法 “static”关键字表明一成员变量或者成员方法可以在没有所属实例变量情况下被访问。...也就是说,一静态变量只有一份,不管它有多少对象。类变量或者说静态变量通过static这个关键字来声明。类变量通常被用作常量静态变量通常通过类名字来进行访问。...所以main方法一定是静态,有类就可以得到执行,进而有更多静态方法或者非静态方法得到执行 是否可以从一静态(static)方法内部发出对非静态(non-static)方法调用 不可以,静态函数中不能访问静态成员变量

619100

C++ 中 const 和 constexpr关键字解析:常量、函数和指针

很多全局变量都是通过常量来进行修饰,需要注意,使用const关键字修饰变量需要立刻初始化 // 修饰局部变量,全局变量,成员变量 const int a = 2; // 错误,表达式必须可修改左值...num) { // 错误,表达式必须可修改左值,意思就是参数num常量,无法修改 num = 3; } 修饰指针 虽然指针也是一种变量,不过当const与指针出现在一起时候...C++11中引入关键字,它作用主要是用来修饰一些函数和变量,使其成为常量表达式,从而在编译器就可以进行计算,进一步提高程序运行期效率 常量表达式:指的是有一或多个常量组成表达式,在实际开发中经常会接触到常量表达式...,比如数组长度就必须常量表达式 // 正确,长度5由1常量组成常量表达式 int arr[5]; // 正确,长度3+4由2常量组成常量表达式 int arr2[3 + 4];...,而constexpr只能修饰编译期常量 const在仍然可以通过const_cast类型转换来修改值,而constexpr不可以修改,其实可以将const理解为只读变量更符合其含义 const只能用于非静态成员函数

73220

java编程基础(入门级)(超级完整版)「建议收藏」

表达式A:表达式B; 【2】流程:如果条件判断true,将表达式A值赋值给左边,否则将表达式B值赋值给左边 TIPS: 【1】必须同时保证表达式A,B都符合左侧数据类型要求 【2】三元运算符结果必须被使用.../对于本类当中静态方法,可以省略类名称 TIPS: 【1】静态不能访问静态,只能访问静态 原因:内存中现有静态内容,后有的非静态内容 【2】静态方法中不能用this 原因:this代表当前对象...extends 父类名称{ } 3.成员变量访问特点 在父子类继承关系中,如果成员变量重名,则创建子类对象时,访问有两种方式: 【1】 直接:通过子类对象访问成员变量: 等号左边谁就优先用谁...【1】子类成员方法中访问父类成员变量 【2】子类成员方法中访问父类成员方法 【3】子类构造方法中访问父类构造方法 2.this关键字三种用法 【1】本类成员方法中访问本类成员变量 【2...】本类成员方法中访问本类另一成员方法 【3】本类构造方法中访问本类另一构造方法 A.在第三种用法中要注意:this(…)调用也必须构造方法第一语句 B.super和this两种构造调用不能同时使用

93640

听GPT 讲Rust源代码--compiler(29)

Rust一种静态类型系统编程语言,它支持在编译时求值常量表达式常量求值指在编译期间计算表达式结果,而不是在运行时计算。...CanAccessStatics: 这个枚举类型用于指定能否访问静态变量。它定义了三种取值: Yes表示可以访问静态变量,Locked表示静态变量被锁定,不允许访问,No表示禁止访问静态变量。...visit_place()方法:用于访问常量表达式位置,即访问变量、引用等。 visit_field()方法:用于访问常量表达式字段,例如结构体字段。...在 Rust 中,类型转换将一从一种类型转换为另一种类型。例如,将一整数类型转换为浮点数类型,或者将一引用类型转换为原始指针类型等。...常量求值器Rust编译器重要组成部分,它负责在编译过程中计算常量表达式值。常量求值器静态分析工具,它能够在编译时期确定常量具体值,而不需要运行时才能得到。

7310
领券