[](

)9.成员变量和局部变量的区别

  • A:在类中的位置不同

    • 成员变量:在类中方法外

    • 局部变量:在方法定义中或者方法声明上

  • B:在内存中的位置不同

    • 成员变量:在堆内存(成员变量属于对象,对象进堆内存)

    • 局部变量:在栈内存(局部变量属于方法,方法进栈内存)

  • C:生命周期不同

    • 成员变量:随着对象的创建而存在,随着对象的消失而消失

    • 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失

  • D:初始化值不同

    • 成员变量:有默认初始化值

    • 局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。

  • 注意事项:

    • 局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。

    • 基本数据类型变量包括哪些:byte,short,int,long,float,double,boolean,char

    • 引用数据类型变量包括哪些:数组,类,接口,枚举

[](

)10.static关键字

(1)static关键字的特点

* a:随着类的加载而加载

* b:优先于对象存在

* c:被类的所有对象共享

* d:可以通过类名调用

(2)static的注意事项

* a:在静态方法中是没有this关键字的

* 静态是随着类的加载而加载,this是随着对象的创建而存在。

* 静态比对象先存在。

* b:静态方法只能访问静态的成员变量和静态的成员方法

* 静态方法:

* 成员变量:只能访问静态变量

* 成员方法:只能访问静态成员方法

* 非静态方法:

* 成员变量:可以是静态的,也可以是非静态的

* 成员方法:可是是静态的成员方法,也可以是非静态的成员方法。

* 简单记:

* 静态只能访问静态。

[](

)11.静态变量和成员变量的区别


* 静态变量也叫类变量  成员变量也叫对象变量* A:所属不同* 静态变量属于类,所以也称为为类变量* 成员变量属于对象,所以也称为实例变量(对象变量)* B:内存中位置不同* 静态变量存储于方法区的静态区* 成员变量存储于堆内存* C:内存出现时间不同* 静态变量随着类的加载而加载,随着类的消失而消失* 成员变量随着对象的创建而存在,随着对象的消失而消失* D:调用不同* 静态变量可以通过类名调用,也可以通过对象调用* 成员变量只能通过对 象名调用

[](

)12.看程序写结果


class Student {static {System.out.println("Student 静态代码块");   //3}{System.out.println("Student 构造代码块"); //4  //6}public Student() {System.out.println("Student 构造方法");        //5  //7}}class Demo2_Student {static {System.out.println("Demo2_Student静态代码块");  //1}public static void main(String[] args) {System.out.println("我是main方法");   //2Student s1 = new Student();Student s2 = new Student();}}

[](

)13.看程序写结果


class Fu{public int num = 10;public Fu(){System.out.println("fu");}}class Zi extends Fu{public int num = 20;public Zi(){System.out.println("zi");}public void show(){int num = 30;System.out.println(num);System.out.println(this.num);System.out.println(super.num);}}class Test1_Extends {public static void main(String[] args) {Zi z = new Zi();z.show();}}/*fuzi 302010*/

[](

)14.看程序写结果


class ExtendsTest {public static void main(String[] args) {Zi z = new Zi();}/*1,jvm调用了main方法,main进栈2,遇到Zi z = new Zi();会先将Fu.class和Zi.class分别加载进内存,再创建对象,当Fu.class加载进内存,父类的静态代码块会随着Fu.class一起加载,当Zi.class加载进内存,子类的静态代码块会随着Zi.class一起加载第一个输出,静态代码块Fu,第二个输出静态代码块Zi3,走Zi类的构造方法,因为java中是分层初始化的,先初始化父类,再初始化子类,所以先走的父类构造,但是在执行父类构造时,发现父类有构造代码块,构造代码块是优先于构造方法执行的所以第三个输出构造代码块Fu,第四个输出构造方法Fu4,Fu类初始化结束,子类初始化,第五个输出的是构造代码块Zi,构造方法Zi*/}class Fu {static {System.out.println("静态代码块Fu");     //1}{System.out.println("构造代码块Fu");       //3}public Fu() {System.out.println("构造方法Fu");        //4}}class Zi extends Fu {static {System.out.println("静态代码块Zi");      //2}{System.out.println("构造代码块Zi");       //5}public Zi() {System.out.println("构造方法Zi");        //6}}Zi z = new Zi(); 请执行结果。

[](

)15.方法重写的面试题

  • Override和Overload的区别?Overload能改变返回值类型吗?

  • overload可以改变返回值类型,只看参数列表

  • 方法重写:子类中出现了和父类中方法声明一模一样的方法。与返回值类型有关,返回值是一致(或者是子父类)的

  • 方法重载:在同一个类中出现的方法名一样,参数列表不同的方法。与返回值类型无关。

  • 子类对象调用方法的时候:

    • 先找子类本身,再找父类。

[](

)16.final关键字的面试题?

A:修饰局部变量

B:初始化时机

/*

A:

基本类型:值不能被改变。

引用类型:地址值不能被改变。对象中的属性可以改变。

B:

显式初始化

在对象构造完毕前即可

*/

[](

)17.一个抽象类如果没有抽象方法,可不可以定义为抽象类?如果可以,有什么意义?

  • 可以

  • 这么做目的只有一个,就是不让其他类创建本类对象,交给子类完成

[](

)18.abstract不能和哪些关键字共存


static final privateabstract和static被abstract修饰的方法没有方法体被static修饰的可以用类名.调用,但是类名.调用抽象方法是没有意义的abstract和final被abstract修饰的方法强制子类重写被final修饰的不让子类重写,所以他俩是矛盾abstract和private被abstract修饰的是为了让子类看到并强制重写被private修饰不让子类访问,所以他俩是矛盾的

[](

)19.看程序写结果

A:看下面程序是否有问题,如果没有,说出结果


class Fu {public void show() {System.out.println("fu show");}}class Zi extends Fu {public void show() {System.out.println("zi show");}public void method() {System.out.println("zi method");}}class Test1Demo {public static void main(String[] args) {Fu f = new Zi();f.method();f.show();}}

//编译出错。编译看左边,而Fu类中没有method()方法。

B:看下面程序是否有问题,如果没有,说出结果


class A {public void show() {show2();}public void show2() {System.out.println("我");}}class B extends A {public void show2() {System.out.println("爱");}}class C extends B {public void show() {super.show();}public void show2() {System.out.println("你");}}public class Test2DuoTai {public static void main(String[] args) {A a = new B();a.show();B b = new C();b.show();}}

//爱

//你

[](

)20.package,import,class有没有顺序关系


package放在有效代码的第一行,import放在中间,class放在三者最后。

[](

)21.要求:使用已知的变量,在控制台输出30,20,10。


class Outer {public int num = 10;class Inner {public int num = 20;public void show() {int num = 30;System.out.println(?);    //numSystem.out.println(??);    //this.numSystem.out.println(???);//Outer.this.num}}}class InnerClassTest {public static void main(String[] args) {Outer.Inner oi = new Outer().new Inner();oi.show();}    }

[](

)22.按照要求,补齐代码


interface Inter { void show(); }class Outer { //补齐代码 }class OuterDemo {public static void main(String[] args) {Outer.method().show();}}

要求在控制台输出”HelloWorld”


//需要补齐代码内容

Java面试题大全(持续更新中,微服务架构视频教程相关推荐

  1. 前端面试题大全持续更新中……

    目录 1.nextTick知道嘛,实现原理是什么? 2.检测数据类型的方法 3.vue切换路由不重新渲染_Vue路由切换时页面内容没有重新加载 4.JavaScript开发中的23种设计模式详解 5. ...

  2. 计算机专业考研面试题大全———持续更新中

    文章目录 @[toc] 数据结构 计算机网络 操作系统 计算机组成原理 数据库 人工智能 大数据 其他 数据结构 堆栈和队列的区别 栈只能从头部取数据,先放入的数据需要遍历整个栈后才能取出,而且在遍历 ...

  3. Java自学视频整理(持续更新中...)

    1.Java基础视频 <张孝祥JAVA视频教程>完整版[RMVB](东西网) 历经5年锤炼(史上最适合初学者入门的Java基础视频)(传智播客) 张孝祥2010年贺岁视频:Java高新技术 ...

  4. 面试1:Java、微服务、架构常见面试题(持续更新中)

    Java.微服务.架构常见面试题(持续更新中) 文章目录 Java.微服务.架构常见面试题(持续更新中) ==**Java**== 1.Java概述 (1)JVM.JRE和JDK (2)Java特点 ...

  5. 《LeetCode 热题 HOT 100》Java答案汇总版---持续更新中

    <LeetCode 热题 HOT 100>Java答案汇总版-持续更新中 个人认为<LeetCode 热题 HOT 100>中的题目特别适合算法新手进行一个入门的刷题,而且作者 ...

  6. Java生鲜电商平台-秒杀系统微服务架构设计与源码解析实战

    Java生鲜电商平台-秒杀系统微服务架构设计与源码解析实战 Java生鲜电商平台-  什么是秒杀 通俗一点讲就是网络商家为促销等目的组织的网上限时抢购活动 比如说京东秒杀,就是一种定时定量秒杀,在规定 ...

  7. JAVA面试大全(持续更新中...)

    本文旨在收集Java面试过程中出现的问题,力求全面,仅作学习交流,欢迎补充,持续更新中-,部分段落选取自网上,部分引用文章已标注,部分已记不清了,如侵权,联系本人 Java基础 1.面向对象的概述 面 ...

  8. 最新前端开发面试笔试题及答案---图片(面试题系列持续更新中)(4)

    推荐文章: VUE之VUEX常见面试题大全汇总--史上最全[vuex面试题] 前端面试题之HTML+CSS(持续更新)_勤动手多动脑少说多做厚积薄发-CSDN博客1.行内元素和块级元素?img算什么? ...

  9. 最新前端开发面试笔试题及答案---图片(面试题系列持续更新中)(8)

    推荐文章: VUE之VUEX常见面试题大全汇总--史上最全[vuex面试题] 前端面试题之HTML+CSS(持续更新)_勤动手多动脑少说多做厚积薄发-CSDN博客1.行内元素和块级元素?img算什么? ...

  10. 最新前端开发面试笔试题及答案---图片(面试题系列持续更新中)(3)

    推荐文章: VUE之VUEX常见面试题大全汇总--史上最全[vuex面试题] 前端面试题之HTML+CSS(持续更新)_勤动手多动脑少说多做厚积薄发-CSDN博客1.行内元素和块级元素?img算什么? ...

最新文章

  1. LIGA Stereo:基于双目3D检测的Lidar几何感知表示学习(ICCV2021)
  2. L2.五.input语句
  3. python中哪里用到缩进_Python编程常见十大错误
  4. 错误:用脚本window.showModalDialog打开的页面,点击button时打开新窗口
  5. vue使用canvas开发漂亮的多功能手写板组件
  6. Mysql学习总结(27)——Mysql数据库字符串函数
  7. zip 后压缩包带路径
  8. pp助手|pp助手下载
  9. 【C++】:动态库与静态库区别
  10. CAD测量图纸时数据显示不出来怎么办?
  11. 【爬虫】抓取msdn.itellyou.cn所有操作系统镜像下载链接
  12. Python在已知参数方程情况下绘制三维曲线
  13. java基础jdk,jre,jvm作业-答案
  14. Shell脚本详解---一篇搞定
  15. 中职学校计算机应用基础学什么,浅谈中职学校《计算机应用基础》课程改革的一点建议...
  16. multi-view stereo教程
  17. GDT——陶瓷气体放电管的连接方式-优恩讲解
  18. c语言二级考试题库软件下载,C语言二级题库
  19. 钉钉第三方登录,多地址授权
  20. @Repository注解的作用及含义

热门文章

  1. html超链接显示另一张图,怎么把一个超链接弄到图片上,他人点击图片就会出现另一个网页....
  2. html span设置颜色,html怎么给span添加颜色
  3. 模拟 信号隔离器 放大器 变送器 常见问题解答
  4. OPPO 1107刷机包下载 救砖教程 解锁
  5. ManGe总结的常用js方法
  6. 自动控制原理期末复习(Part2数学模型)
  7. # 震惊!软件测试原来是这么回事?!——bilibili
  8. python生成项目requirements以及自动安装requirements
  9. 基于python的移动物体检测_树莓派+摄像头实现对移动物体的检测
  10. 基于大疆RM3508电机的串级PID(角度环+速度环)