- 1、本文档共51页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 接口与包
实现输出学生信息,下面代码有哪些错误?
public class Student {
String name;
char sex;
int age;
public String tostring(){
return name + \t + sex + \t + age;
}
public static void main(String[] args){
Student stu = new Student();
name = 神仙姐姐;
sex = F;
age = 18;
System.out.println(stu);
}
}
回顾
Student
toString
stu.name
stu.sex
stu.age
本章学习任务
使用抽象类完成动物类设计
完成“圆”接口的设计
使用运行时多态完成雇员发薪设计
完成一个访问包实例
本章技能目标
掌握abstract类与方法、接口的定义格式、多态
理解包的定义、编译、导入和调用
理解并掌握包功能的Java中的访问控制方法
了解匿名类与内部类的使用意义
预习检查(1)--预习新单词
单词
释义
单词
释义
interface
package
Vector
Stack
Random
Inner Class
Anonymous Class
预习检查(2)
abstract类与方法、接口的定义格式是?
包的定义、导入的语法分别是什么?
接口与包 - 内容目录
接口
包
访问控制
内部类
匿名类
6.1 接口(Interface)
什么是抽象类和抽象方法呢?
简单的说,抽象方法是只有方法声明而没有方法体的特殊方法,如下例:
abstract void talk();
而如果一个类中含有抽象方法,这个类就自然成为抽象类,如下例:
abstract class Animal
{
abstract void talk();
void getSkinColor(){……}
}
6.1 接口(Interface)
从上面的代码可以看出:
1)talk( ) 方法只有修饰符和方法名,而没有方法体(即花括号{}部分),所以它是一个抽象方法,需要abstract关键字修饰;
2)只要类体中有一个方法是抽象的,类就是抽象的。所以它自然成为抽象类,也需要abstract关键字修饰
抽象类和方法有何作用?--1
这可能是初学编程者最感到迷惑的问题之一!
就好比“建一座大厦要先建好钢筋混凝土框架在垒墙砖”一样,抽象类和方法就是起到“建立框架”的作用。
抽象类和方法有何作用?--2
在某些特殊编程情况下,一些类和方法的功能无法固定,
比如上面的Animal类,它是所有动物的通称,每种动物的“说话”方式不同,小狗可能是“汪汪”地叫,而猫咪是“喵喵”地叫,在Animal类中无法确定talk()方法具体是什么功能,只能在子类中才能确定,因此把它设为抽象类最合适。
talk( ) 方法只有修饰符和方法名,而没有方法体(即花括号{}部分),所以它是一个抽象方法,需要abstract关键字修饰
使用抽象类完成动物类的设计(例6-1)--1
abstract class Animal //定义抽象类Animal
{
private String type;
public Animal(String type)
{
this.type=type;
}
abstract void talk( ); //声明抽象方法talk( )
}
class Dog extends Animal //定义Animal类的子类Dog
{
private String name;
public Dog(String type,String name)
{
super(type);
this.name=name;
}
void talk( ) //覆盖talk( )方法
{
System.out.println(汪汪);
}
}
class Cat extends Animal //定义Animal类的子类Cat
{
private String name;
public Cat(String type,String name)
{
super(type);
您可能关注的文档
最近下载
- 计算机外部设备装配调试员三级实操题 .pdf VIP
- 2025湖北省新华书店(集团)有限公司市(县)分公司招聘笔试模拟试题及答案解析.docx
- 《多媒体与多媒体技术》名师教学设计.docx VIP
- 如何进行教学设计-24逆向教学设计和教案编写.pdf
- 2023年广东工业大学网络工程专业《计算机网络》科目期末试卷A(有答案).docx VIP
- 公路定额、编办答疑.doc
- 2023年广东工业大学计算机科学与技术专业《计算机网络》科目期末试卷B(有答案).docx VIP
- 《证券投资学》题库试题及答案(吴晓求_刘立刚第三版).doc
- 2023年广东工业大学计算机科学与技术专业《计算机网络》科目期末试卷A(有答案).docx VIP
- 郑州大学研究生培养方案.pdf VIP
文档评论(0)