JAVA面试题

1. Java面向对象的特点
1.1 封装
1.2 继承
1.3 多态

封装: 面向对象的语言可以将一个事物的行为和属性包装到一个对象中,并可有选择性的对这些属性和行为进行对外暴露和隐藏。在JAVA中可通过private protected public 以及    默认(default)这些修饰符进行控制。


继承: 通过继承,子类可以继承父类的属性及方法; 通过继承子类就拥有了父类的方法和属性。
     在同一个包下子类可以继承父类的公有、保护、默认这三种属性和方法,当子类和父类不在同一包下时子类可以继承父类的公有和保护这两种属性和方法。

多态: 也就是常说的 overload(重载) 和 override(重写),详细见下。

overload(重载):表示在同一个类中可以有多个相同名称的方法,但他们有不同的参数个数 或 参数类型
override(重写):表示子类中的一个方法与父类中的方法名称和参数完全一致,在JDK6中可以通过@Override注解确认是否为重写,可避免写错。

在override(重写)中子类只有比父类抛出更少的异常或者是父类抛出异常的子异常; 子类重写父类的方法时,方法的访问限制不能比父类的小,即如果父类使用protected修饰符那么如果子类重写该方法只能使用 protected 或 public。当然因为private的方法不能被子类继承,当子类中存在与父类相同的方法时,子类相当于添加了一个新的方法。


2. Interface 和 abstract 

抽象类:
用abstract修改类为抽象类,在抽象类中可以定义方法,也可以只定义声明方法(使用abstract),在子类中如果不实现抽象类中的所有抽象方法那些该子类也应该声明为抽象类。抽象类不能创建实例对象,但可以有构造方法。抽象类中不能抽象静态方法。

接口:接口为抽象的一个特例,它的所有方法都为public abstract,而成员变量为 public static final。 在接口中不能有构造方法。

因为接口中抽象类的特殊情况,也就不难想像在一个抽象类中可以实现接口; 因抽象类中可以包含普通方法,而接口中的方法必须为抽象方法,所以接口不能继承抽象类,它也不能实现其它接口。

在应用中,接口常在系统架构设计方法中发挥作用,主要定义模块之间的通信契约。而抽象类则主要在代码实现时发挥使用,可以实现代码重写。

3. 进程间通信
包括: 管道 FIFO 消息队列 信号量 共享内存 客户进程和服务进程(网络)


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值