Java面向对象(构造器、访问控制、重写重载)
2017-03-08 17:16
148 查看
构造器,构造函数,Constructor
//Person()·Java语言中,每个类都至少有一个构造方法;
分析:
特点: ①名字与类名一模一样
②无返回值(void)
作用:初始化对象的属性(创建对象,并初始化属性值)
问题: Person()是没有写,但是就可用了
解答:1.如果类中没有显示的创建一个构造器,就会提供一个无参的构造器,供我们来创建对象实例
2.如果类中显示了的创建一个构造器,就不调用默认的无参的构造器
格式:[访问修饰符]类名(....)
{
//
}
·修饰符: public private 缺省
构造器的重载:和方法的重载一样
访问控制
可以对Java类中定义的属性和方法进行访问控制
规定不同的保护等级:
public>protected>default(缺省)>private
重写
1. why :子类继承了父类,就继承了父类的方法,有时候子类需要重写这些方法,来变现子类自身的方法,子类再来调用这个方法的时候就会调用子类重写的方法
2. 重写实现了子类和父类方法的隐藏和覆盖
重写的规则:
①方法重值写必须和被重写的方法具有相同的方法名、参数列表和返回类型。
②重写方法不能使用比被重写方法更严格的修饰符访问权限。
③假如方法中抛出异常,那么子类方法所抛出的异常不高于父类方法所抛出的异常
④同static或同非static
重写与重载的区别
override或overwrite
重写方法的规则:
1、参数列表必须完全与被重写的方法相同,否则不能称其为重写而是重载。
2、返回的类型必须一直与被重写的方法的返回类型相同,否则不能称其为重写而是重载。
3、访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private)
4、重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常。例如:
父类的一个方法申明了一个检查异常IOException,在重写这个方法是就不能抛出Exception,只能抛出IOException的子类异常,可以抛出非检查异常。
重载的规则:
1、必须具有不同的参数列表;
2、可以有不责骂的返回类型,只要参数列表不同就可以了;
3、可以有不同的访问修饰符;
4、可以抛出不同的异常;
重写与重载的区别在于:
重写多态性起作用,对调用被重载过的方法可以大大减少代码的输入量,同一个方法名只要往里面传递不同的参数就可以拥有不同的功能或返回值。
用好重写和重载可以设计一个结构清晰而简洁的类,可以说重写和重载在编写代码过程中的作用非同一般.
相关文章推荐
- JAVA基础知识思维导图:unit02_面向对象(方法、构造器、对象),内存管理,访问控制
- php面向对象(二),继承,重写,parent,final关键字及访问控制
- Java面向对象5——类的继承与权限控制,重写与super
- Java面向对象04-继承,访问控制修饰符,static和final
- java面向对象(四)之重写、重载
- Java中面向对象的封装,继承,重载重写
- Java面向对象-访问控制权限
- JAVA构造器+继承+重载与重写+自动转型与多态
- Java面向对象-9.重载和重写
- java继承 构造器 重载,重写
- Java面向对象-访问控制权限
- Java 重写和重载区别——面向对象的多态性分析
- Java基础第10讲-面向对象之方法的重写和重载
- java面向对象-使用this语句解决构造器重载相互调用问题
- java面向对象(四)之重写、重载
- java面向对象的继承以及方法重写和重载
- Java 重写(Override)与重载(Overload)——面向对象
- 类、对象、继承、封装、多态、方法的重载和重写、Java的访问修饰符与其它关键字
- 8、java高级面向对象-重载、构造器重载、初始化块、this、super、对象构造和初始化分析、覆盖、toString
- java中常遇到的小问题——static关键字、继承访问控制方式、构造器的继承与super关键字