java重载和重写的区别,java面向对象编程三大特性

java重载和重写的区别

重载:发生在同一个类中,方法名必须相同,参数类型不同,个数不同,顺序不同,方法返回值和访问修饰符可以不同,发生在编译时。
重写:发生在父类中,方法名,参数列表必须相同,返回值范围小于等于父类,抛出的异常范围小于等于父类,访问修饰符范围大于等于父类,如果父类方法访问修饰符为private则子类就不能被重写。

java面向对象编程三大特性

封装:封装把一个对象的属性私有化,同时提供一些可以被外界访问属性的方法,如果属性不想被外界访问,我们大可不必提供方法给外界访问,但是如果一个类没有提供给外界访问的方法,那么这个类也没有什么意义了。
继承:继承是使用已存在的类定义作为基础建立新类的技术,新类的定义可以增加新的数据或功能,也可以用父类的功能,但不能选择性地继承父类,通过使用继承我们能够非常方便的复用以前的代码。
关于继承如下3点:
1.子类拥有父类非private的属性和方法。
2.子类可以拥有自己属性和方法,即子类可以对父类进行扩展。
3.子类可以拥有自己的方法实现父类的方法。
多态:所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发 出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变 量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中 实现的方法,必须在由程序运行期间才能决定。
在Java中有两种形式可以实现多态:继承(多个子类对同一方法的重写)和接 口(实现接口并覆盖接口中同一方法)。