默认构造器
类中一定有构造器
如果类没有声明构造器,java编译器提供默认构造器
如果类中声明了构造器,java不在提供默认构造器
java 根据 参数 去找 对应构造器
package day16; public class Demo01 { public static void main(String[] args) { dog wangcai = new dog();// 调用 java默认给dog 分的构造器 // cat tom2= new cat(); //编译错误,没有构造器cat() cat tom = new cat("tom");// 只有构造器cat(String),因为自己手动创建了构造器 } } class dog { } class cat { public cat(String name) { System.out.println(name); } }
继承:
子类型 父类型
子类型 继承父类型的属性和方法
子类型是多找多样的。
父类型定义的变量可以引用子类型实例
多态:
多种多样
向上造型:
继承时候的构造器
类一定有构造器
构造器不能被继承
子类的构造器中一定调用父类的构造器
子类默认调用父类无参数构造器
可以使用super()调用在子类构造器中父类构造器
super() 调用父类的无参构造器。不管你添不添加都有,父类中没有无参数构造器,就要在子类中使用spuer(参数),不然就会有编译错误
只能在子类构造器中使用
只能在子类构造器的第一行
package day16; public class Demo02 { public static void main(String[] args) { new s();//main开始执行 使用 new 调用 s() 子类的构造器, 子类默认调用父类无参构造器执行输出f() 然后在执行下一步 回到 子类 输出s() }() } class s extends f { public s() { //super();//你加或者不加 他都在这里。 System.out.println("s()"); } } class f { public f() { System.out.println("f()"); } }
package day16; public class Demo03 { public static void main(String[] args) { new s(); } } class s extends f { public s() { super(10);//需要明确的写出来 System.out.println("s()"); } } class f { public f(int f) { System.out.println("f()"); } }
子类中定义与父类型同名属性:
java支持子类型和父类型定义同名属性
属性的访问是绑定到变量的类型
很少使用
方法的重写: 功能的修改
在子类中修改父类的行为,重写就是为了修改。
语法: 子类中定义与父类星泪相同的方法(方法名一样,参数一样)
调用时调用对戏那个的方法
重写也叫做覆盖
重写和 重载的区别: 他们两个就没有关系!!!!
重写:
子类型中修改 父类型的方法
在子类型中定义与父类型方法名和参数一样的方法
在调用时候 根据对象的类型 来调用相应的方法
重载:
方法名一样参数不同的方法 一般的功能相近的不同的方法
调用时候根据调用参数的类型来识别方法
package day17; public class Demo04 { public static void main(String[] args) { F obj = new S();// 根据对象 调用重写的方法 A a = new A(); a.print(obj);// print F 根据参数 obj 的类型 F 去调用重载的方法。 } } class A { public void print(F obj) { System.out.println("print F"); obj.print(); } public void print(S obj) { System.out.println("print S"); obj.print(); } } class F { public void print() { System.out.println("F"); } } class S extends F { public void print() { System.out.println("S"); } }
访问控制
体现了封装
private 私有的
本文出自 “浪漫的偷笑” 博客,请务必保留此出处http://lmdtx.blog.51cto.com/6942028/1700050
原文:http://lmdtx.blog.51cto.com/6942028/1700050