extends 继承
来源:互联网 发布:mac系统的剪切快捷键 编辑:程序博客网 时间:2024/05/22 17:16
extends 继承 类X 通过extend 类Y来添加功能,或者添加变量,或者添加方法,或者覆盖类Y的方法。一个接口extends另外一个接口来添加方法。
范例
在 B 类别 (定义如下) 中,会自动插入一个以 A 类别之建构函式作为对象的呼叫,作为 B 建构函式的第一行陈述式,这是因为该处并未存在任何呼叫的缘故。 (也就是说,这个呼叫在范例中被注解化。)
class B extends class A
{
function B() { // 此为建构函式
// super(); // 选择性;如果忽略,则在编译时插入
}
function m():Number {return 25;}
function o(s:String):Void {trace(s);}
}
另一个简单的例子:
假如这样定义:
class A{
int i;
void f(){}
}
class B extends A{
int j;
void f(){}//重写
void g(){}
}
然后:
B b = new B();
b就是子类对象的实例,不仅能够访问自己的属性和方法,也能够访问父类的属性和方法。诸如b.i,b.j,b.f(),b.g()都是合法的。此时b.f()是访问的B中的f()
A a = new B();
a虽然是用的B的构造函数,但经过upcast,成为父类对象的实例,不能访问子类的属性和方法。a.i,a.f()是合法的,而a.j,a.g()非法。此时访问a.i,a.f()是访问A中变量与方法。
范例
在 B 类别 (定义如下) 中,会自动插入一个以 A 类别之建构函式作为对象的呼叫,作为 B 建构函式的第一行陈述式,这是因为该处并未存在任何呼叫的缘故。 (也就是说,这个呼叫在范例中被注解化。)
class B extends class A
{
function B() { // 此为建构函式
// super(); // 选择性;如果忽略,则在编译时插入
}
function m():Number {return 25;}
function o(s:String):Void {trace(s);}
}
另一个简单的例子:
假如这样定义:
class A{
int i;
void f(){}
}
class B extends A{
int j;
void f(){}//重写
void g(){}
}
然后:
B b = new B();
b就是子类对象的实例,不仅能够访问自己的属性和方法,也能够访问父类的属性和方法。诸如b.i,b.j,b.f(),b.g()都是合法的。此时b.f()是访问的B中的f()
A a = new B();
a虽然是用的B的构造函数,但经过upcast,成为父类对象的实例,不能访问子类的属性和方法。a.i,a.f()是合法的,而a.j,a.g()非法。此时访问a.i,a.f()是访问A中变量与方法。
- 继承(extends)
- extends 继承
- 继承(Extends)
- 继承extends
- 继承:extends
- 继承extends
- extends 继承
- 继承extends程序测试
- 继承关键字 :extends
- extends继承初步
- Ext继承Extends学习
- 笔记12 继承extends
- extends 继承问题
- 【java的继承extends】
- php继承详解 extends
- Java中继承 extends
- Java day05 继承 extends
- java继承关键字extends
- request_threaded_irq()
- Python源码学习(四)-builtins模块的初始化
- 中断请求request_irq
- 站长工具包,站长必备工具,SEO查询工具,统计工具
- OWI监控和收集方法——将database logoff trigger用作数据收集器(1)
- extends 继承
- Java守护线程
- Jquery选中或取消radio
- mysql调优三步曲(慢查询、explain profile)
- ubuntu install eclipse (from:http://askubuntu.com/questions/26632/how-to-install-eclipse)
- MySQL负载均衡-1:利用keepalived构建双主MySQL
- SEO-页面各个元素的权重比例
- 【书籍推荐】GUI应用程序移植
- MySQL负载均衡-2:nginx 实现mysql的负载均衡