ImageVerifierCode 换一换
格式:DOC , 页数:15 ,大小:416.11KB ,
资源ID:11397983      下载积分:8 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/11397983.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文([零基础学JAVA]JavaSE面向对象部分-15.面向对象高级.doc)为本站上传会员【知****运】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

[零基础学JAVA]JavaSE面向对象部分-15.面向对象高级.doc

1、上季内容回顾: 1、super与this关键字 2、方法的重载与覆写 本季主要知识点: 1、final关键字 2、简单了解一下抽象类与接口(是JAVA中最重要的部分) final关键字 终结器 —— final 1、被final标记的类不能被继承 final class A     {     };     class B extends A     {     }; 验证一下: 2、被final标记的方法不能被子类覆写 final class A     {             public final void print(){}  

2、   };     class B extends A     {             public void print(){}     }; 3、被final标记的变量就成为常量,如果成为常量,则以后不能修改 class A     {             final String NAME = "Hello";             public final void print()             {                     NAME = "World";             }         }; 之前在

3、声明变量的时候是第一个单词的首字母小写,之后每个单词的首字母大写。如果使用final声明常量,则所有单词的字母都要大写。 重点:全局常量: · static:是所有对象共享的 · final:是一个常量 · public:表示可以让外部看见 public static final String FLAG = "";    全局常量 抽象类 抽象类:包含一个抽象方法的类就称为抽象类。 抽象方法:只声明而未实现的方法称为抽象方法。 方法没有方法体(方法体:“{}”),则称为是一个抽象方法。 除了抽象方法之外其他的定义如同普通类一样。 抽象类 = 普通类的功能

4、 抽象方法 abstract class A     {             public static final String FLAG = "";             public void print()             {                     //有方法体,所以是一个普通方法                     System.out.println("Hello World~~~");             }                 //此处定义了一个抽象方法             public abstr

5、act void fun();     };     public class Demo04     {             public static void main(String args[])             {                     A a = new A();             }     }; 如果要使用一个抽象类,不能直接实例化,抽象类是必须有子类的。 抽象类必须被继承,被继承的子类如果不是一个抽象类的话,则肯定要覆写全部的抽象方法。 abstract class A     {             pu

6、blic static final String FLAG = "";             public void print()             {                     //有方法体,所以是一个普通方法                     System.out.println("Hello World~~~");             }                 //此处定义了一个抽象方法             public abstract void fun();     };     //子类中覆写了抽象类中的全部抽象方

7、法     class B extends A     {             public void fun()             {                     //super.FLAG也可以写成FLAG,因为FLAG已经是全局常量了哈~~~                     System.out.println("FLAG="+super.FLAG);             }     };     public class Demo04     {             public static void main(String

8、args[])             {                     B b = new B();                     b.fun();                     b.print();             }     }; 验证效果,证明抽象类必须这样写哈~~~ 抽象类的定义 抽象类的使用规则 抽象类的思考 abstract class Person     {             //Person类应该有姓名和年龄             private String name;      

9、       private int age;             public Person(String name,int age)             {                     this.name = name;                     this.age = age;             }             public void setName(String name)             {                     this.name = name;             }       

10、      public void setAge(int age)             {                     this.age = age;             }             public String getName()             {                     return this.name;             }             public int getAge()             {                     return this.age;       

11、      }             //定义一个输出方法,但是此方法为抽象方法             public abstract String getInfo();     }; 我们测试一下,发现编译正常,说明抽象类可以有构造方法哈~ 我们继续哈~ abstract class Person     {             //Person类应该有姓名和年龄             private String name;             private int age;             public Person(){}      

12、       //如果已经不是无参的,则必须在子类中明确调用无参构造             public Person(String name,int age)             {                     this.name = name;                     this.age = age;             }             public void setName(String name)             {                     this.name = name;           

13、  }             public void setAge(int age)             {                     this.age = age;             }             public String getName()             {                     return this.name;             }             public int getAge()             {                     return this.a

14、ge;             }             //定义一个输出方法,但是此方法为抽象方法             public abstract String getInfo();     };     class Student extends Person     {             public Student(String name,int age)             {                     //调用Person类中有两个参数的构造方法                     super(name,age);    

15、         }             //覆写父类的抽象方法             public String getInfo()             {                     return "姓名:"+super.getName()+",年龄:"+super.getAge();             }     };     public class Demo05     {             public static void main(String args[])             {                 

16、    Student s = new Student("王乾",27);                     System.out.println(s.getInfo());             }     } 抽象类中允许有构造方法,但是此构造方法并不是直接实例化抽象类自己的对象使的,如果在抽象类中没有明确的无参构造方法,即:存在有参构造,则必须在子类明确的使用super指明要调用父类中的那个构造方法。 注意: 如果一个抽象类中没有任何一个抽象方法,则也是不能直接实例化的。 abstract class A     {             public

17、void print(){}     };     public class Demo06     {             public static void main(String args[])             {                     new A();             }     }; final可以声明一个类,但是此类是绝对不能有子类的。 而抽象类又必须被子类继承。 ==>矛盾的 final abstract class A     {     }; 验证下效果,我们发现抽象类是不能使用final声明的。

18、如果假设一个类就是抽象方法和常量的集合,那么此时往往都不再使用抽象类声明了,而使用接口声明。 接口(interface) interface A     {             //接口中包含了抽象方法和全局常量             public static String NAME="";             public abstract void print();     }; 接口的使用规则(1)   一个子类继承接口实际上称为实现了接口。 如果实现接口的子类不是抽象类的话,则子类必须覆写接口中的全部抽象方法。 interface A    

19、 {             //接口中包含了抽象方法和全局常量             public static String NAME="";             public abstract void print();     };     class B implements A     {             public void print()             {                     System.out.println("NAME="+NAME);             }     };     public

20、class Demo09     {             public static void main(String args[])             {                     B b = new B();                     b.print();             }     };   接口使用的事项: 1、抽象类使的是extends关键字,表示一个类只能继承一个父类,但是接口不同,一个类可以同时实现多个接口,但是此时子类就必须同时覆写好多个接口中的抽象方法。 interface A     {      

21、       //接口中包含了抽象方法和全局常量             public static String NAME="";             public abstract void print();     };     interface X     {             public abstract void fun();     };     class B implements A,X     {             public void print()             {                     Syst

22、em.out.println("NAME="+NAME);             }             public void fun()             {                     this.print();             }     };     public class Demo10     {             public static void main(String args[])             {                     B b = new B();                

23、     b.fun();             }     }; 抽象类拥有单继承的局限,而接口没有此限制,即:一个子类可以同时实现多个接口。 2、既然在定义中已经明确的说明了接口是抽象方法和全局常量的集合,则在定义接口的时候就可以简单定义。 interface A     {             //接口中包含了抽象方法和全局常量             //public static String NAME="";             String NAME="";             //public abstract void print();

24、             void print();     };     class B implements A     {             public void print()             {                     System.out.println("NAME="+NAME);             }     };     public class Demo11     {             public static void main(String args[])             {      

25、               B b = new B();                     b.print();             }     }; 简化后实现的效果一样哈~ 一般习惯在简化时还在前面加上public,呵呵~~~ interface A     {             //接口中包含了抽象方法和全局常量             //public static String NAME="";             public String NAME="";             //public abstract void pri

26、nt();             public void print();     };     class B implements A     {             public void print()             {                     System.out.println("NAME="+NAME);             }     };     public class Demo12     {             public static void main(String args[])         

27、    {                     B b = new B();                     b.print();             }     }; 接口的使用规则(2) interface A     {             public void printA();     }     interface B     {             public void printB();     }     interface C extends A,B     {             public voi

28、d printC();     }     class X implements C     {             //如果实现了(继承)C接口,则在子类中就必须覆写全部的抽象方法             public void printA()             {                     System.out.println("A接口 ===> Hello World~~~");             }             public void printB()             {                     

29、System.out.println("B接口 ===> Hello World~~~");             }             public void printC()             {                     System.out.println("C接口 ===> Hello World~~~");             }     }     public class Demo13     {             public static void main(String args[])             { 

30、                    X x = new X();                     x.printA();                     x.printB();                     x.printC();             }     } 如果一个子类即要实现一个接口又要继承一个抽象类呢? 则此时按以下格式编写: class 类名称 extends 抽象类 implements 接口 interface X     {             public void printX();     } 

31、    interface Y     {             public void printY();     }     //一个抽象类也是可以实现接口的     abstract class Z implements Y     {             public abstract void printZ();     }     //D类同时继承Z类和实现X接口     class D extends Z implements X     {             public void printX()             {    

32、                System.out.println("X ===>Hello~~~");             }             public void printY()             {                     System.out.println("Y ===>Hello~~~");             }             public void printZ()             {                     System.out.println("Z ===>Hello~~~"); 

33、            }     }     public class Demo14     {             public static void main(String args[])             {                     D d = new D();                     d.printX();                     d.printY();                     d.printZ();             }     } 总结 1、final关键字 2、抽象类与接口的定义及基本使用

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服