JAVA基础面试题------①

一、JAVA是什么

java是一门面向对象编程语言。

二、面向对象有哪几个特性

继承性:

继承是从已有类得到继承信息创建新类的过程,提供信息的类被称为父类,得到继承信息的类被称为子类。子类继承父类的所有方法和属性。可以有多个子类同时继承一个父类,使用父类的方法,让代码不用那么复杂且减少代码量。

//父类
public class Father {}  
//子类 
public class Son extends Father{ }

封装性:

封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。

其实就是封装到类中,如果想访问里面的数据,只需继承它的接口就行。

多态性:

是指允许不同子类型的对象对同一消息作出不同的响应。

意思大概就是同一个行为(类的方法是同名的)在不同场景(做了不同的事)下拥有不同的作用或者说功能。

三、重写和重载异同

重写和重载是多态性的体现,

重载---编译时的多态性

同一种方法,参数不同,包括参数类型不同,参数个数不同,或者二者都不同。

//重载
public class OverloadTest {
    public static void main(String[] args) {
        OverloadTest overloadTest = new OverloadTest();
        overloadTest.method(1);//1
        overloadTest.method(1,2);//1,2
        overloadTest.method(3,3.123);//3,3.123
    }

    public void method(int a){
        System.out.println(a);
    }

    public void method(int a,int b){
        System.out.println(a);
        System.out.println(b);
    }

    public void method(int c ,double d){
        System.out.println(c);
        System.out.println(d);
    }
    
}

重写---运行时的多态性

是发生在父类和子类中的,相同的返回类型,会覆盖原方法。都是在同一包下

public class Homework {
    public void method(){
        System.out.println("做作业");
    }
}
public class Maths extends Homework{
    public void method(){
        System.out.println("做数学作业");
    }
    public void method1(){
        System.out.println("做英语作业");
    }
}
//重写
public class OverrideTest {
    public static void main(String[] args) {
        Homework homework = new Homework();
        Maths maths = new Maths();
        homework.method();//做作业
        //很明显,创建maths对象,调用method方法时,被子类的方法覆盖了。
        maths.method();//做数学作业
        maths.method1();//做英语作业
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值