java相关

2020-03-30  本文已影响0人  成天写bug的程序媛

1、Java向上转型之后调用子类的同名变量/方法的问题

答案1

总结:方法可重写,属性不可重写。父类的方法被子类覆盖,父类的属性不被子类覆盖。

对于//3   编译是不通过的。记住哦,我们现在创建的是父类的引用指向子类Son的对象。子类中定义的方法f2在父类中不存在,所以用这父类的引用去调用他没有的方法是错误的。

 对于多态,可以总结它为:

  一、使用父类类型的引用指向子类的对象;

  二、该引用只能调用父类中定义的方法和变量;

  三、如果子类中重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法;(动态连接、动态调用)

  四、变量不能被重写(覆盖),”重写“的概念只针对方法,如果在子类中”重写“了父类中的变量,那么在编译时会报错。

转原文链接:https://blog.csdn.net/Hurricane_m/java/article/details/89006463

2、Java的interface中,成员变量的默认修饰符为:public static final

https://www.cnblogs.com/lxcmyf/p/7074319.html

3、反射机制中Class类用到的几个常用方法(没有getDeclaredName)

https://blog.csdn.net/qq_41063182/article/details/80625668

4、类的访问控制块声明顺序???????

A private,public,protected

B private,protected public

c public protected private

d protected private public

5、批量提交时,autocommit设置为 true or false or默认????????

6、while for if 左大括号位置

7、线程抛异常相关

A 、Java 的 Runnable 接口下的 run() 方法为什么不能抛出checked exception?

https://www.zhihu.com/question/27551063?sort=created

https://www.cnblogs.com/csniper/p/5891158.html

B、主线程处理异常

https://blog.csdn.net/zangdaiyang1991/article/details/84304096

C、Thread对象提供了setUncaughtExceptionHandler方法用来获取线程中产生的异常。而且建议使用该方法为线程设置异常捕获方法

D、当此类异常跑抛出时,线程就会终结,而对于主线程和其他线程完全不受影响,且完全感知不到某个线程抛出的异常

8、overide相关

A 覆盖override方法的可见性不可以降低(就是public不可以变成protected private,protected·不可以变成private)

B 异常处理,子类的方法抛出的异常只能和父类方法一致,或者是不抛出异常,但是不能出现父类对应方法的throws子句中没有的异常类型

9、Java反射机制的作用?

A 在运行时判断任意一个对象所属的类。

B 在运行时构造任意一个类的对象。

C 在运行时判断任意一个类所具有的成员变量和方法。

D 在运行时调用任意一个对象的方法

10、nio 的 Selector管理多个SocketChannel,必须将具体的SocketChannel对象注册到Selector,并声明需要监听的事件

1、connect:客户端连接服务端事件,对应值为SelectionKey.OP_CONNECT(8)

2、accept:服务端接收客户端连接事件,对应值为SelectionKey.OP_ACCEPT(16)

3、read:读事件,对应值为SelectionKey.OP_READ(1)

4、write:写事件,对应值为SelectionKey.OP_WRITE(4)

11 、Collection集合子类

12、throwable和exception的区别

A、throwable是父类,exception是子类。

B、throwable是根基,exception是从throwable派生出来的。

C、throwable中包括exception(异常)和error(错误)。

D、throwable用来定义所有可以作为异常被抛出来的类,exception专指程序本身可以处理的异常,一般性的异常。

在Java程序中,所有异常对象的根基类是Throwable,Throwable从Object直接继承而来(这是Java系统所强制要求的)。Throwable有两个重要的子类:Exception(异常)和 Error(错误),二者都是 Java 异常处理的重要子类,各自都包含大量子类

13 Java不可变类型 :String+包装类

补充:https://baijiahao.baidu.com/s?id=1642475926527866407&wfr=spider&for=pc

14、64位机器各类型的长度

32位机器:

      char :1个字节

      char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)

      short int : 2个字节

      int:  4个字节

      unsigned int : 4个字节

      float:  4个字节

      double:   8个字节

      long:   4个字节

      long long:  8个字节

      unsigned long:  4个字节

  64位编译器:

      char :1个字节

      char*(即指针变量): 8个字节

      short int : 2个字节

      int:  4个字节

      unsigned int : 4个字节

      float:  4个字节

      double:   8个字节

      long:   8个字节

      long long:  8个字节

      unsigned long:  8个字节

原文链接:https://blog.csdn.net/Makefilehoon/article/details/79015937

15、下列哪个不是InputStream的子类----RandomAccessFile

https://www.cnblogs.com/shamo89/p/10237783.html

16、测试用例@Before,@After和@BeforeClass和@AfterClass的区别

一个JUnit4的单元测试用例执行顺序为:

@BeforeClass -> @Before -> @Test -> @After -> @AfterClass;

每一个测试方法的调用顺序为:

@Before -> @Test -> @After; 

https://blog.csdn.net/dingjiajia_949/article/details/80183828

17、 满足语句覆盖的最少测试组合是什么

18、确定哪个类的实例占用内存较多 

a、top -hp

b、jmap -histo pid

19、jmap命令使用

https://www.cnblogs.com/sxdcgaq8080/p/11089664.html

20 StreamGobbler使用正确的是

https://www.iteye.com/blog/hellsing42-118317

21、命令注入是啥 

https://blog.csdn.net/weixin_43706468/article/details/88819431

22、文件路径标准化处理 方法Java?????

上一篇下一篇

猜你喜欢

热点阅读