java_base2_oo_DVal6RnmWiWr.pptVIP

  • 2
  • 0
  • 约1.73万字
  • 约 59页
  • 2016-11-27 发布于河南
  • 举报
java_base2_oo_DVal6RnmWiWr

第4课 对象和类 构造方法 重载方法 覆盖方法 访问控制 static变量,方法和初始代码块 this引用的用途 final类,方法和变量 abstract类和方法,接口 解释如何以及何时使用内部类 降级,以及如何把Java程序从JDK的低版本升级到高版本 构造方法 声明构造方法的语法规则 重载构造方法,参见Employee.java 默认构造方法, 参见Sample1.java 子类调用父类的构造方法,参见Son.java, 构造方法的语法规则 一个新对象的初始化的最终步骤是去调用对象的构造方法。 构造方法必须满足以下条件: 方法名必须与类名称完全相匹配; 不要声明返回类型; 不能被static、final、synchronized、abstract、native修饰。 public class Sample { int x; public Sample() { // No-arg constructor x=1; } public Sample(int x) { //int-arg constructor this.x=x; } } 构造方法的语法规则 public class Sample { int x; public void Sample() { x=1; } public static void main(String args[]){ Sample s=new Sample(); System.out.println(s.x); } } 重载构造方法 public class Employee { private String name; private int salary; public Employee(String n, int s) { name = n; salary = s; } public Employee(String n) { this(n, 0); } public Employee() { this( Unknown ); } } 默认构造方法 默认构造方法是没有参数的构造方法,你可以显式定义类的默认构造方法。 为了保证每个类至少有一个构造方法,如果定义的类中一个构造方法也没有写,Java将自动提供一个默认构造方法。该构造方法没有参数,用public 修饰,而且方法体为空。格式如下: public ClassName(){} 只要类中显式定义了一个或多个构造方法,而且所有显式定义的构造方法都带参数,那么将失去默认构造方法。 默认构造方法 public class Sample1{} public class Sample2{ public Sample2(int a){System.out.println(“My Constructor”);} } ? public class Sample3{ public Sample3(){System.out.println(“My Default Constructor”);} } 子类调用父类构造方法 在构造子类对象时,JVM会先调用父类的构造方法 子类构造方法中通过super语句调用父类构造方法 如果子类构造方法中没有通过super语句调用父类构造方法,那么JVM会调用父类的默认构造方法,如果不存在默认构造方法,将导致编译错误 子类调用父类构造方法 class Father{ String fatherName; Father(){ this.fatherName=“未知; } Father(String fatherName){ this.fatherName=fatherName; } } class Son extends Father{ String sonName; Son(String sonName){ this.sonName=sonName; } Son(String sonName,String fatherName){ super(fatherName); this.sonName=sonName; } } 修饰符 修饰符的类型 访问控制修饰符(public,protected,private) static,abstract,final 修饰符的修饰内容(类,方法,变量) 修饰符的作用 使用修饰符的限制 成员变量或成员方法

文档评论(0)

1亿VIP精品文档

相关文档