java clone缺省_【面试题】之Java面向对象

01.得到Class的三个过程是什么?

答:对象.getClass()

类.class或Integer.type(int)  Integer.class(java.lang.Integer)

Class.forName();

02.如何唤起类中的一个方法?

答:产生一个Class数组,说明方法的参数

通过Class对象及方法参数得到Method

通过method.invoke(实例,参数值数组)唤醒方法

03.如何将数值型字符转换为数字(Integer,Double)?

Integer.parseInt(“1234”)

Double.parseDouble(“123.2”)

04.如何将数字转换为字符?

1+””

1.0+””

05.如何去小数点前两位,并四舍五入。

double d=1256.22d;

d=d/100;

System.out.println(Math.round(d)*100);

06.如何取得年月日,小时分秒?

Calendar c=Calendar.getInstance();

c.set(Calendar.YEAR,2004);

c.set(Calendar.MONTH,0);

c.set(Calendar.DAY_OF_MONTH,31);

System.out.println(c.get(Calendar.YEAR)+"  "+(c.get(Calendar.MONTH)+1)+"  "+c.get(Calendar.DAY_OF_MONTH));

07如何取得从1970年到现在的毫秒数

Java.util.Date dat=new Date();

long now=dat.getTime();

08.如何获取某个日期是当月的最后一天?

当前日期加一天,若当前日期与结果的月份不相同,就是最后一天。

取下一个月的第一天,下一个月的第一天-1

public static void main(String[] args)

{

Calendar c=Calendar.getInstance();

c.set(Calendar.YEAR,2004);

c.set(Calendar.MONTH,0);

c.set(Calendar.DAY_OF_MONTH,30);

Calendar c1=(Calendar)c.clone();

System.out.println(c.get(Calendar.YEAR)+"  "+(c.get(Calendar.MONTH)+1)+"  "+c.get(Calendar.DAY_OF_MONTH));

c.add(Calendar.DAY_OF_MONTH,1);

if(c.get(Calendar.MONTH)!=c1.get(Calendar.MONTH))

{

System.out.println("是最后一天");

}

else

{

System.out.println("不是取后一天");

}

}

09.如何格式化日期?

Import java.text. SimpleDateFormat;

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

Date dat=new Date();

//把日期转化为字符串

String str=sdf.format(dat);

System.out.println(str);

//将字符串转化为日期

Java.util.Date d1=sdf.parse(“yyyy-mm-dd”);

10.编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串。

String a=new String("中".getBytes("gb2312"),"iso-8859-1");

String a=new String("中".getBytes("iso-8859-1"));

11.String s = new String("xyz");创建了几个String Object?

New了一个,”XYZ”本来又是一个

两个

12.float型float f=3.4是否正确?

报错,应当是float f=3.4f

Ø 如果是float f=3(整数)正确

13.说出一些常用的类,包,接口,请各举5个

常用的类:BufferedReader  BufferedWriter  FileReader  FileWirter  String  Integer

常用的包:java.lang  java.awt  java.io  java.util  java.sql javax.xml javax.sevlet javax.ejb.  java.net  javax.faces

常用的接口: List  Map  Document  NodeList EjbObject EjbHome SessionBean  EntityBean

14.java中会存在内存泄漏吗,请简单描述。

会。如:int i,i2;  return (i-i2);   //when i为足够大的正数,i2为足够大的负数。结果会造成溢位,导致错误。

15.java中实现多态的机制是什么?

静态的多态:方法名相同,参数个数或类型不相同。(overloading)

动态的多态:

子类覆盖父类的方法,将子类的实例传与父类的引用调用的是子类的方法

实现接口的实例传与接口的引用调用的实现类的方法。

16.垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?

动态内存

存放类实例

静态内存

类本身

垃圾收集主要针对的是动态内存,一般当内存不够用时会进行垃圾收集。

或通过System.gc()手动收集,但不保证一定执行。

17.静态变量和实例变量的区别?

static i = 10; //常量

class A a;  a.i =10;//可变

静态方法可以调用静态变量。

实现方法可以调用静态变量、实例变量

18.是否可以从一个static方法内部发出对非static方法的调用?

不可以,如果其中包含对象的method();不能保证对象初始化.

19.写clone()方法时,通常都有一行代码,是什么?

Clone 有缺省行为,super.clone();他负责产生正确大小的空间,并逐位复制。

20.JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?

Try:执行部分,产生异常

Catch:捕捉异常

Finally:不管有没有异常都执行

Throws:在方法声明处声明要抛出的异常,调用者必须对其进行处理。

Throw:抛出一个异常

在try中可以抛出异常,一般与声明的异常相同。

自定义异常要继承于Exception或Exception的子类

想获取蛙课网更多资讯、更多视频、面试题答案,还有各种资源+源码+工具 就关注“蛙课网校”吧!小蛙随时等你呦~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值