java的一些基本问题

verload和override的区别。Overloaded的房哪个发是否使可以改变返回值的类型?
        从字面意思上看,overload是重载,override是重写。
        重载是表示一个类中允许多个重名方法,但是这些方法的参数列表不同(即为参数的个数或者类型不同)
        重写override表示子类中的方法和父类中的方法名字及参数完全相同,通过子类创建的实例调用这个方法时将调用子类的方法,将父类的方法覆盖。(private类型不能被覆盖)
        对于overloaded方法,如果参数列表不一样的话会返回类型不一样,但是如果参数列表也是一样的重载,那么返回值类型不会改变。

==和equals方法有什么区别?
        ==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数据想否相同,要比较两个基本类型的数据或两个引用变量是>否相等,只能用==操作符。
        equals方法适用于比较连个独立对象的内容是否相等,就好比两个人的长相是否相同,它比较的两个对象是独立的。

final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
        是引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。
        例如:
                final StringBuffer a=new StringBuffer("immutable");
                执行下面的语句将会出现错误:
                a=new StringBuffer("");
                但是执行下面的语句就会编译通过:
                a.append("buffer");
switch语句能否作用域byte上,能否作用在long上,能否作用于String上?
        在switch(expr)中,expr1只能是一个整数表达式或者是枚举常量(更大的字体),整数表达式可以是int或Integer封装类,由于char,short,byte都可以转成
int类型,所以都可以,但是long和String不能转成int,所以不行。

构造器Constructor是否可以被override?
        构造器Constructor不能被继承,因此不能重写override,但是可以被重载overload。

抽象类和接口之间的区别?
        1,抽象类可以有构造方法,接口不能有构造方法
        2,抽象类可以有普通成员变量,接口没有普通成员变量,它的成员变量都是public static final
        3,抽象类可以包含非抽象的普通方法,接口中的方法必须都是抽象的,不能有非抽象的普通方法存在
        4,抽象类中的抽象方法的访问类型可以是public,protected,但是接口中的抽象方法只能是public的,并且默认为public abstract类型
        5,抽象类中包含静态方法,接口中不能包含静态方法
        6,一个类能继承多个接口,但只能继承一个抽象类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值