javase问题总结(一):

重载和重写问题:

重载:方法名相同,参数列表不同(参数类型,数量)【两个参数类型顺序不一样也算】

重写:重写父类的方法,参数列表相同,与返回类型无关

final关键字:

final可以用来修饰类,方法,变量,参数:

1.修饰类:final修饰的类不能被继承

final class FinalClass{
//类的成员变量和方法
            
}
class a extends FinalClass{}//错误,不可被继承

2.修饰方法:final修饰的方法不能被子类重写

class FinalClass{
   public final void A(){}    
}
class B extends FinalClass{
       public void A(){}//无法执行
}

3.修饰变量:一:修饰变量  不可被修改

二:修饰对象   同样不可被修改

final int num=5;
//无法更改
// num=10
final StringBuilder a=new StringBuilder("hello");
a.append("nihao")//无法更改

4.修饰参数:

final修饰的参数在方法内部不能被修改。这可以防止在方法中不小心修改了传入的参数值。

public void Change(final int value){
//不可修改 value=10
}

多态:

允许不同类的对象对同一消息作出响应,强调同一个行为在不同对象的不同反应,通过方法重写和接口来实现

接口和抽象类:

接口方法不能产生实例,没有方法体

接口不能定义参数,接口本身不能“调用属性”接口只有常量public static final),没有实例字段

抽象类被abstract修饰,抽象类中可以有实体方法,也可以有抽象方法

抽象类不能产生实例,子类继承了抽象类,必须实现抽象类的所有抽象方法,可以定义属性(私有的也可以)

抽象类和普通类

static:

1.修饰变量:static修饰变量,可以直接访问,直接通过类名.对象名直接调用

2.修饰方法:static修饰方法,静态方法无需创建对象即可被调用,不能直接访问类中的非静态方法(变量/方法)。无需依赖创建对象即可被调用。

3.修饰代码块:静态代码块在类加载时被调用时运行一次

4.修饰内部类:不能直接访问外部类的非静态成员(变量/方法)

hashmap和hashtable的区别:

hashmap线程不安全,访问效率高。key,value可以存在null,底层是数组加链表,要扩容的时候,链表转换为红黑树。null的key只有一个,null的value可以有多个。

hashtable线程安全,访问效率低。key,value不可以为null,底层是数组加链表。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值