Java面试——说说你眼中的Java四大特性

去年刚毕业的博主, 还最多算个应届生, 所以面试的时候一般不会有太难的问题, 但也招架不住"架构师的经验却只有初级工程师的价格", Java市场不好混呐. 那天去面试, 面试官问过我一个问题, 说说Java的四大特性吧.

hhhh~~~, 所以博主我来回答啦.

封装

封装就是将对象的属性及方法封装成一个整体. 并为对象的方法及属性加上访问权限符(public、private、protected), 控制系统外部对象对此对象的访问, 使得在其他对象调用此方法时, 并不需要知道实现细致过程.

例:我们将杯子看成一个对象, 他应该具有属性颜色、形状等, 杯子有方法–能装水, 可定义如下:

public class Bottle{
    public String color;
    public String shape;
    public void returnWater();
    ...
}

继承

继承是父类与子类之间的关系, 通过继承可扩展父类的属性及方法, 可扩展性强.

父类一般存公用属性, 以上面的Bottle为例, 杯子的子类可能有玻璃杯、 塑料杯等, 如果按普通的做法, 得建立两个类, 都存在属性color、shape、matrial. 这样万一哪天又有橡胶…所以通过继承, 在子类中只需定义独有的属性/方法即可.

public class Glass{
    public String brand;
    ...
}

多态

多态是不同对象对同一行为做出不同的响应. 生活中我们都知道动物基本都会叫而且是有声音的, 比如对象狗, 或者猫, 都有发出叫声, 但其实这两者之间是不一样的声音.

public class Animal{
public void call()
{
    System.out.printl("");
}
...
}

public class Dog{
@override
    public void call()
    {
        System.out.println("汪汪汪");
    }
    ...
}

public class Cat{
    @override
    public voud call()
    {
        System.out.println("喵喵喵");
        ...
    }
}

通过实例化不同的Dog、Cat对象, 对方法call()做出的响应是不一样的.这就是通过继承父类并重写父类方法实现多态.

当然还有另外一种方式.那就是通过方法的重载实现多态.

方法的重载方法名是一样的, 通过参数变量的个数、参数变量的数据类型可以实现重载, 可扩展性强.

public void setColor(String xx);
public void setColor(String  xxx,String xxx);
public void setColor(int xxx);

以上就是方法的重载, 但需要注意的是方法返回值不同不能认为是方法的重载.

抽象

说了这么多, 最早说的就应该是抽象, 毕竟只有抽象出了对象, 其他才有意义.
我理解的抽象就是将一个物体抽象出几项特征, 通过这几个特性, 能大致描述此对
象, 比如将人看作一个对象, 一般会有属性name, sex, height等. 通过这几个因素
能大致描述一个人, 哈哈哈, 就是简单粗暴.

以上如有不妥指出, 欢迎指正.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值