常见Java练习题回答

1、int和Integer之间的区别,并概述Integer缓存原理
int是Java的一种基本类型,其默认值是0
integer是int的包装类,integer变量必须是实例化才能使用,默认值是null

2、==和equals的区别
==:比较的是值是否相等:对于引用类型,比较地址是否相等
equals;比较的是对象是否相等,不能比较基本数据类型

3、概述面向对象的三大特征
(1)封装:隐藏具体的实现细节,对外提供调用接口,private 当前类内可见,默认同包可见,protected同包或者子类可见
public到处可见。
(2)继承:代码重用,批判继承,继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或者
新的功能,也可以用父类功能,但不能选择性继承父类。继承是is-a的相互关系,class子类 extends父类
继承是一种强耦合关系。
(3)多态:调用同名方法,但是具体的操作逻辑不同
有继承,父类定义方法,子类重写方法
父类的引用指向子类的对象
可以使用参数传递时多态,可以直接创建对象时多态
父类obj=new子类();
编译期类型和运行时类型


4、使用static修饰属性或方法后,属性和方法有什么特征
在类加载时被初始化,static修饰的属性或方法,可以直接使用类名调用,而不用先实例化对象再调用。


5、比较静态内部类、非静态内部类、局部内部类和匿名内部类四种内部类
(1)静态内部类:定义在外部类中的另一个完整类结构只可以在静态内部类中使用外部类的静态成员
在外部类的外面不需要通过外部类的对象就可以创建静态内部类的对象
如果在内部类中有变量与外部类的静态成员变量同名,可以使用“外部类名."进行区别
静态内部类中,可以有静态数据、静态方法或者又一个静态内部类
(2)非静态内部类:定义在外部类中的另一个完整的类结构
可允许四种修饰符:public,protected,private,缺省。
在非静态内部类中使用外部类中的所有成员,包括私有。
在外部类的静态成员不可以使用非静态内部类。
在外部的外面必须通过外部类的对象才能创建非静态内部类的对象
创建非静态内部类对象时,一定要先创建相应的外部类对象
(3)局部内部类;可以将内部类定义在一个方法或着一个代码块内,不能有权限修饰符,有作用域
,靠方法访问外部类的静态或非静态的成员,用final声明的局部变量
(4)匿名内部类;匿名内部类就是内部类的简写格式,没有名字,没有构造函数

6.创建一个类,为该类定义三个构造函数,分别执行下列操作: 
  a.传递两个整数值并找出其中较大的一个值
  b.传递三个double值并求出其乘积
  c.传递两个字符串的值并检查其是否相等。

class Test {
Test(int a,int b){
	if(a>b)
		System.out.println(a);
	else
		System.out.println(b);
}
Test(double x,double y,double z){
	System.out.println(x*y*z);
}
Test(String zjh1,String zjh2){
	if(zjh1.equals(zjh2))
		System.out.println("是");
	else
		System.out.println("否");
}

}
	
public class Test1 {

	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
int a=sc.nextInt();
int b=sc.nextInt();
Test s1=new Test(a,b);
double x=sc.nextDouble();
double y=sc.nextDouble();
double z=sc.nextDouble();
Test s2=new Test(x,y,z);
String zjh1=sc.next();
String zjh2=sc.next();
Test s3=new Test(zjh1,zjh2);
sc.close();
}}

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值