您的位置:首页 > 编程语言 > Java开发

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、可以抛出不同的异常;

 

重写与重载的区别在于:

重写多态性起作用,对调用被重载过的方法可以大大减少代码的输入量,同一个方法名只要往里面传递不同的参数就可以拥有不同的功能或返回值。

用好重写和重载可以设计一个结构清晰而简洁的类,可以说重写和重载在编写代码过程中的作用非同一般.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: