1.改类名,不要直接改在类里把类名修改了,要在左边项目浏览区,右键类名-->Refactor --> Rename,
2.Java中只允许单继承,c++中允许多继承
3.在子类中,调用父类的成员,使用关键字 super.调用父类的成员
4.子父类学名: 子类(派生类) 父类(超类,基类)
5.子类使用父类的成员变量,前提父类的成员变量不是private的
6.方法重写
注意:(1)子类方法覆盖父类方法,必须要保证权限大于等于父类权限。
(2)写法;必须一摸一样:
函数的返回值类型 函数名 参数列表 都要一样!!!
7.四大权限
大--> 小 public protected default(默认权限,什么都不写就是了) private
8.抽象类
(1)理解:某个父类只是知道子类应该包含什么样的方法,但是无法准确hi到ilei如何实现这些方法。
(2)抽象类不能实例化,不能new
不能创建对象的原因:如果真的new了对象,调用抽象方法,抽象方法没有主体,根本就不能运行。
(3)只有覆盖了抽象类中所有的抽象方法后,其子类才可以创建对象。否则该子类还是一个抽象类。
eg.
public abstract class A {
public abstract void fun();
public abstract void fun2();
}
//Class A3, A3也是一个抽象类,得加上abstract,要不报错
public abstract class A3 extends A{
public void fun(){
}
}
9.抽象类的细节问题
(1)抽象类一档是个父类?
是的,因为不断抽取而来。
(2)抽象类是否可以不定义抽象方法?
是可以的。
(2.1)那这个抽象类的存在有什么意义呢?
不让该类创建对象,方法可以让子类去使用
(3)abstract关键字 不可以和哪些关键字共存?
private (X)
final (X)
static (X)
因为抽象方法或者抽象类就是为了让子类继承重写的。
10 匿名对象
Cat c = new Cat();
c.sleep();// 相当于 new Cat().sleep();
11.构造方法不能继承
2.Java中只允许单继承,c++中允许多继承
3.在子类中,调用父类的成员,使用关键字 super.调用父类的成员
4.子父类学名: 子类(派生类) 父类(超类,基类)
5.子类使用父类的成员变量,前提父类的成员变量不是private的
6.方法重写
注意:(1)子类方法覆盖父类方法,必须要保证权限大于等于父类权限。
(2)写法;必须一摸一样:
函数的返回值类型 函数名 参数列表 都要一样!!!
7.四大权限
大--> 小 public protected default(默认权限,什么都不写就是了) private
8.抽象类
(1)理解:某个父类只是知道子类应该包含什么样的方法,但是无法准确hi到ilei如何实现这些方法。
(2)抽象类不能实例化,不能new
不能创建对象的原因:如果真的new了对象,调用抽象方法,抽象方法没有主体,根本就不能运行。
(3)只有覆盖了抽象类中所有的抽象方法后,其子类才可以创建对象。否则该子类还是一个抽象类。
eg.
public abstract class A {
public abstract void fun();
public abstract void fun2();
}
//Class A3, A3也是一个抽象类,得加上abstract,要不报错
public abstract class A3 extends A{
public void fun(){
}
}
9.抽象类的细节问题
(1)抽象类一档是个父类?
是的,因为不断抽取而来。
(2)抽象类是否可以不定义抽象方法?
是可以的。
(2.1)那这个抽象类的存在有什么意义呢?
不让该类创建对象,方法可以让子类去使用
(3)abstract关键字 不可以和哪些关键字共存?
private (X)
final (X)
static (X)
因为抽象方法或者抽象类就是为了让子类继承重写的。
10 匿名对象
Cat c = new Cat();
c.sleep();// 相当于 new Cat().sleep();
11.构造方法不能继承