1、什么是构造和析构方法?功能是?

答:

构造方法:

每个类至少有一个构造方法,类初始化时调用的方法

1.方法名和类名相同

2.无返回值类型

格式:访问权限 类名(参数列表) {};

1.自己定义构造后,就没有默认的构造方法

2.无构造方法时,默认为空参的构造方法(无参数,方法体为空)

析构方法:finalize 类销毁时,自动调用方法

当对象在内存中被删除时,自动调用该方法

在此方法中可以写回收对象内部的动态空间的代码

2、分别说明:在类上、在属性上、在方法上能使用哪些访问修饰符?

答:

在类上:public、default、final

在方法上: 访问权限:public、protected、private、default

方法修饰符:static、final

返回类型:void

在属性上:public、protected、private、default、static、final

3、请写出5个以上的JDK中的包,以及他们的基本功能

答:

java.awt:包含构成抽象窗口工具集的多个类,用来构建和管理应用程序的图形用户界面。

java.lang:提供java编成语言的程序设计的基础类。

java.io:包含提供多种输出输入功能的类。

java.net:包含执行与网络有关的类,如URL,SCOKET,SEVERSOCKET。

java.applet:包含java小应用程序的类。

java.util:包含一些实用性的类。

4、什么是包装类?Java中都有哪些包装类?

答:

在JDK中针对各种基本类型分别定义相应的引用类型称为封装类。

Boolean、Byte、Short、Integer、Long、Float、Double、Character。

5、OOP(面向对象)语言的三大特征是什么?

答:

封装性,继承性,多态性

6、分别表述类的三大特性及其他们的功能

答:

封装:隐藏类的实现细节、迫使用户去使用一个接口去访问数据、使代码更好维护。

继承:子类可以直接继承使用父类的方法,程序员只需要做的是定义额外特征或规定将适用的变化。

多态性:同一个行为具有多个不同表现形式或形态的能力。(父类型的变量可以引用子类型的对象)

7、如何实现继承?继承的规则?

答:

    public class A extends B{
}

(1) 单继承性

(2) 构造方法不能继承

(3) super引用父类,调用父类的属性,方法

(4) 当子类中出现与父类的方法名,返回类型,参数列表相同的方法时要覆盖此方法

8、简述this和super的功能和用法

答:

this :

(1) 能访问除构造方法以外所有的属性、方法,通过this.来调用方法和属性
(2) 不可以在静态方法中使用
(3) 在调用其它构造方法时,必须放在该构造方法的第一行
(4) 在构造方法中使用this(参数列表),相当于调用本类的其它构造方法,它必须作为构造方法的第一句。

super :

访问父类

(1) super.点取父类中被子类隐藏的方法和属性
(2) 通过 super(参数列表) 来调用父类的属性和方法,在调用父类的构造方法时必须放在子类构造方法里的第一行。

9、如何确定在多态的调用中,究竟是调用的那个方法?

答:

new的是哪一个类就是调用的哪个类的方法。(一个方法可能沿着继承链的多个类中实现,Java虚拟机在运行时动态绑定方法的实现,这时由变量的实际类型决定的。)

10、什么是重载?简述重载的规则

答:

定义:

在一个类中出现方法名相同,但参数列表不同时,这种情况就是重载。

规则:

(1) 方法名称必须相同;
(2) 参数列表必须不同(个数不同,或类型不同,或参数排列顺序不同);
(3) 与返回类型无关。

11、什么是方法的覆盖?什么情况下出现?

答:

方法覆盖:

子类可以修改从父类继承过来的行为,也就是说子类可以创建一个与父类方法有不同功能的方法,但具有相同的:名称、返回类型名和参数列表。
在父子类的情况下出现时。

12、方法覆盖的规则?

答:

(1) 方法名要和父类中被覆盖的方法名相同,返回类型相同,参数列表相同。

(2) 访问权限要大于等于被覆盖方法的权限。

(3) 例外列表要小于等于被覆盖方法的例外列表。

13、static修饰符的功能是?可以用在什么地方?怎么访问?

答:

static 修饰符功能:

(1) 共用一块内存区域,也就是用static修饰的变量或成员方法对所有类的实例都是相同的。

(2) 静态成员方法和静态变量的优点在于他们能在没有创建类的任何一个实例的情况下被引用。

(3) 可以用在方法或属性上。

访问方式:

(1) 直接使用类名调用

(2) new 一个实例,用实例调用

14、static的基本规则

答:

(1) 类中的静态方法只可以调用静态的属性和方法,不允许调用非静态的属性和方法。

(2) 静态变量为类变量,可以用类名直接调用静态的属性和方法。

(3) 静态方法中不允许出现this和super

(4) 构造方法不允许声明static

(5) 非静态变量为实例变量,通过实例调用

(6) 静态方法不能被非静态方法覆盖

15、final修饰符的功能是?可以用在什么地方?

答:

功能:final标记所有通用的功能,不能随意更改;可以用在类、属性和方法上。

16、final的基本规则

答:

(1) final修饰的类不能被继承

(2) final修饰的成员变量只允

许赋值一次,且只能通过构造方法里赋值。

(3) final修饰的局部变量即为常量,只能赋值一次。

(4) final修饰的方法不允许被子类覆盖。

17、什么是抽象方法,什么是抽象类

答:

用abstract修饰的方法,只有方法的声明,而没有方法的实现,就叫抽象方法。

用abstract修饰的类,就叫抽象类。

18、抽象类的规则

答:

(1) 抽象类内部可以没有抽象方法

(2) 必须用abstract修饰

(3) 不能够直接使用抽象类,必须通过子类继承并且实现

(4) 抽象方法不允许被private修饰

19、什么情况下使用抽象类

答:

(1) 当一个类的一个或多个方法是抽象方法时;

(2) 当类是一个抽象类的子类,并且不能为任何抽象方法提供任何实现细节或方法体时;

(3) 当一个类实现一个接口,并且不能为任何抽象方法提供实现细节或方法体时。

20、equals方法和“= =”的功能和区别

答:

功能:判断对象是否相等

区别:equals方法比较的是对象的值

= =:比较的是对象值的内存地址,对基本数据类型来说 = = 比较的是数值

21、toString方法的功能和基本写法

答:

返回一个String类型

public String toString(){
return " ";
}

22、String的方法的功能和基本使用方法,请描述5个以上

答:

(1)substring(参数1,参数2); 功能:取字符串中参数1到参数2的的所有字符; "String".subString(0,1);

(2)replace(参数1,参数2); 功能:用参数2中的值替换字符串中所有参数1的值; "String".replace(ing,tt);

(3)equals( ); 功能:判断两个字符串是否相等 "String".equals("tt");

(4)trim( ); 功能:去掉字符串两边的空格 "String".trim();

(5)indexof( ); 功能:查找字符串中参数所在位置,并返回字符串第一个出该参数的下标 "String".indexOf("ing");

(6)split( ); 功能:根据参数分割该字符串 "String".split("-");

23、为什么使用StringBuffer类?有什么功能和优点?

答:

(1)只创建一个对象

(2)StringBuffer 对象的内容是可以被修改的

(3)除了字符的长度之外,还有容量的概念

(4)通过动态改变容量的大小,加速字符管理

24、如何使用Java读写系统属性?

答:

Properties props = System.getProperties();
Enumeration prop_names = props.propertyNames(); while (prop_names.hasMoreElements()) {
String prop_name = (String) prop_names.nextElement();
String property = props.getProperty(prop_name);
System.out.println("Property '" + prop_name + "' is '"+ property + "'");
}

写:

System.setProperties(props);

25、简述properties文件的结构和基本用法

答:

结构:扩展名为properties的文件,内容为key、value的映射,例如“a=2”

用法:

public class Test {
public static void main(String args[]) {
try {
String name = "test.properties";
InputStream in = new BufferedInputStream(new FileInputStream(name));
Properties p = new Properties();
p.load(in);
System.out.println("a的值==" + p.getProperty("a"));
} catch (Exception err) {
err.printStackTrace();
}
}
}

Java interview questions(No1)的更多相关文章

  1. 115 Java Interview Questions and Answers – The ULTIMATE List--reference

    In this tutorial we will discuss about different types of questions that can be used in a Java inter ...

  2. Top 25 Most Frequently Asked Interview Core Java Interview Questions And Answers

    We are sharing 25 java interview questions , these questions are frequently asked by the recruiters. ...

  3. Java Interview Questions Summary

    Spring 高并发 Java基础 多线程 正文. 多线程精选53题 1.什么是线程 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.程序员可以通过它进行多处理器 ...

  4. Core Java Interview Question Answer

    This is a new series of sharing core Java interview question and answer on Finance domain and mostly ...

  5. WCF学习系列三--【WCF Interview Questions – Part 3 翻译系列】

    http://www.topwcftutorials.net/2012/10/wcf-faqs-part3.html WCF Interview Questions – Part 3 This WCF ...

  6. [转]Design Pattern Interview Questions - Part 4

    Bridge Pattern, Composite Pattern, Decorator Pattern, Facade Pattern, COR Pattern, Proxy Pattern, te ...

  7. [转]Design Pattern Interview Questions - Part 2

    Interpeter , Iterator , Mediator , Memento and Observer design patterns. (I) what is Interpreter pat ...

  8. [转]Design Pattern Interview Questions - Part 1

    Factory, Abstract factory, prototype pattern (B) What are design patterns? (A) Can you explain facto ...

  9. 69 Spring Interview Questions and Answers – The ULTIMATE List--reference

    This is a summary of some of the most important questions concerning the Spring Framework, that you ...

随机推荐

  1. wordpress配置固定链接nginx访问404问题解决方法

    WordPress支持使用固定链接,但是在ngnix环境下,访问页面后出现404, 其实官方是有文档说明的,需要单独写配置, 我这边配置的示例代码如下: server { listen       8 ...

  2. 自己制作ssl证书:自己签发免费ssl证书,为nginx生成自签名ssl证书

    这里说下Linux 系统怎么通过openssl命令生成 证书. 首先执行如下命令生成一个key openssl genrsa -des3 -out ssl.key 1024 然后他会要求你输入这个ke ...

  3. Django——ContentType及ContentType-signals的使用

    一.ContentType 在django中,有一个记录了项目中所有model元数据的表,就是ContentType,表中一条记录对应着一个存在的model,所以可以通过一个ContentType表的 ...

  4. 35 个 jQuery 小技巧

    1. 禁止右键点击 $(document).ready(function(){ $(document).bind("contextmenu",function(e){ return ...

  5. Shiro笔记--shiroFilter权限过滤

    1.shiro中shiroFilter中的一些配置页面的过滤权限 <!--名字必须和web.xml里面的filter-name一样--> <bean id="shiroFi ...

  6. vue——安装并新建项目

    一.对于vue的安装: 1.安装vue之前先安装node,https://nodejs.org/zh-cn/download/,我装的是windows64位的: 2.下载好了之后就可以按照正常顺序安装 ...

  7. HDU - 1789 贪心

    贪心策略:按照分数降序排列,如果分数相同将截止时间早的排在前面.每次让作业尽量晚完成,因此需要逆序枚举判断这一天是否已经做了其他作业,如果没时间做这个作业说明不能完成,否则将这一天标记. AC代码 # ...

  8. python file文件操作--内置对象open

    说明: 1. 函数功能打开一个文件,返回一个文件读写对象,然后可以对文件进行相应读写操作. 2. file参数表示的需要打开文件的相对路径(当前工作目录)或者一个绝对路径,当传入路径不存在此文件会报错 ...

  9. python小练习之读取文件写入excel

    文件是个json文件 内容为: 导入excel后的格式为 屡一下思路 一步步怎么实现: 1 首先需要读取json文件 然后将读取的内容转为字典 2 将excel的列名写入一个list中 然后遍历执行写 ...

  10. SDP(9):MongoDB-Scala - data access and modeling

    MongoDB是一种文件型数据库,对数据格式没有硬性要求,所以可以实现灵活多变的数据存储和读取.MongoDB又是一种分布式数据库,与传统关系数据库不同的是,分布式数据库不支持table-join,所 ...