77范文网 - 专业文章范例文档资料分享平台

Java SE面向对象部分-15.面向对象高级(03)(2)

来源:网络收集 时间:2019-04-14 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

public void setName(String name) {

this.name = name; }

public void setAge(int age) {

this.age = age; }

public String getName() {

return this.name; }

public int getAge() {

return this.age; }

//定义一个输出方法,但是此方法为抽象方法 public abstract String getInfo(); };

class Student extends Person {

public Student(String name,int age) {

//调用Person类中有两个参数的构造方法 super(name,age); }

//覆写父类的抽象方法 public String getInfo() {

return \姓名:\+super.getName()+\,年龄:\+super.getAge(); } };

public class Demo05 {

public static void main(String args[]) {

Student s = new Student(\王乾\,27); System.out.println(s.getInfo()); } }

抽象类中允许有构造方法,但是此构造方法并不是直接实例化抽象类自己的对象使的,如果在抽象类中没有明确的无参构造方法,即:存在有参构造,则必须在子类明确的使用super指明要调用父类中的那个构造方法。 注意:

如果一个抽象类中没有任何一个抽象方法,则也是不能直接实例化的。 abstract class A {

public void print(){} };

public class Demo06 {

public static void main(String args[]) {

new A(); } };

final可以声明一个类,但是此类是绝对不能有子类的。 而抽象类又必须被子类继承。 ==>矛盾的 final abstract class A { };

验证下效果,我们发现抽象类是不能使用final声明的。

如果假设一个类就是抽象方法和常量的集合,那么此时往往都不再使用抽象类声明了,而使用接口声明。

接口(interface)

interface A {

//接口中包含了抽象方法和全局常量

public static String NAME=\; public abstract void print(); };

接口的使用规则(1)

一个子类继承接口实际上称为实现了接口。 interface A {

//接口中包含了抽象方法和全局常量

public static String NAME=\; public abstract void print(); };

class B implements A {

public void print() {

System.out.println(\+NAME);

如果实现接口的子类不是抽象类的话,则子类必须覆写接口中的全部抽象方法。

} };

public class Demo09 {

public static void main(String args[]) {

B b = new B(); b.print(); } };

接口使用的事项:

1、抽象类使的是extends关键字,表示一个类只能继承一个父类,但是接口不同,一个类可以同时实现多个接口,但是此时子类就必须同时覆写好多个接口中的抽象方法。 interface A {

//接口中包含了抽象方法和全局常量

public static String NAME=\; public abstract void print(); };

interface X {

public abstract void fun(); };

class B implements A,X {

public void print() {

System.out.println(\+NAME); }

public void fun() {

this.print(); } };

public class Demo10 {

public static void main(String args[]) {

B b = new B(); b.fun(); } };

抽象类拥有单继承的局限,而接口没有此限制,即:一个子类可以同时实现多个接口。 2、既然在定义中已经明确的说明了接口是抽象方法和全局常量的集合,则在定义接口的时候就可以简单定义。 interface A {

//接口中包含了抽象方法和全局常量

//public static String NAME=\ String NAME=\; //public abstract void print(); void print(); };

class B implements A {

public void print() {

System.out.println(\+NAME); } };

public class Demo11 {

public static void main(String args[]) {

B b = new B(); b.print(); } };

简化后实现的效果一样哈~

一般习惯在简化时还在前面加上public,呵呵~~~

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Java SE面向对象部分-15.面向对象高级(03)(2)在线全文阅读。

Java SE面向对象部分-15.面向对象高级(03)(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/593055.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: