java笔记7

JAVA面向对象的高级特性。
类的继承:同过继承可以简化类的定义。(支持单继承,不允许多重继承,不能同时继承2个类)
可以多层继承,就是一个类可以继承别的类的子类。
子类拥有父类的成员和方法,但是不继承构造方法。子类可以调用父类的构造方法。
子类使用super(父类构造函数的参数) 。在子类构造函数中调用
public Student()
{
super("hello!",12);方法。

class Person
{
public String name;
public int age;
public void getinfo()
{

}
}
class Student extends Person 使用extends关键字继承类
{
public String school;
public void getinfo()
{

}
public void study()
{

}
}
子类对象实例化过程:
先进行默认的初始化,然后绑定构造方法参数,如果有this(),就调用相对应的构造函数。
public Student(String name,int age)
{
super(name,age);
System.out.println("super2");
}
public Student(String name,int age,String school)
{
this(name,age);语句。。。。。。。
this.school=school;
System.out.println("super");
}
如果使用private私有声明,子类就不可以使用。
final关键字:
在JAVA中声明类,属性和方法时,使用final修饰,用final标记的类不能被继承,标记的方法不可以被子类重写,标记的变量(成员变量或局部变量)都是常量,只能赋值一次。public static final定义的就是全局常量。
final标记的常量可以放在所有构造函数中赋值。使用static修饰就必须在定义的时候就赋值。
抽象类: 定义一些不含方法体的方法。
abstract int aa(int x,int y);abstract修饰。类名前面也必须加上修饰词。
抽象类不可以实例化,只需声明,不需要实现。
含有抽象方法的类必须声明为抽象类,子类继承抽象类。不为抽象类就必须覆盖父类的方法。
abstract class a
{
abstract void aa(int x,int y);
}
class b extends a
{
void aa(int x,int y)覆盖。。。。。。。。
{
}
接口: 如果一个抽象类的所有方法都是抽象,就可用另外一种方式定义,就是接口定义。接口是抽象方法和常量值的定义的集合。本质上,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。
注意:接口中的成员都是public访问类型的 可以省略关键字,
可以定义一个新的接口 用 entends去继承接口。
interface runner
{
int id=1;
void run();
}
interface animal extends runner
{
void huxi();
}
也可以定义一个类,使用implements继承接口的方法,其中也是同继承抽象类一样,不使用abstract修饰,就必须覆盖被继承接口的方法。如:
interface runner
{
int id=1;
void run();
}
interface animal extends runner
{
void huxi()

你可能喜欢

  • 韩顺平java笔记
  • 达内java笔记
  • java入门笔记
  • javaweb笔记
  • 高中英语知识点总结
  • 学习文件

java笔记7相关文档

最新文档

返回顶部