多态总结,接口知识==0914
来源:互联网 发布:微信公众号源码下载 编辑:程序博客网 时间:2024/04/26 11:20
学习报告
1、instanceof作用是什么?
例如: a instanceof b
解答:判断a变量指向的对象是否匹配制定的类型,匹配则返回值为真,否则为假;
如果a变量是null,那么返回值为假。
2、什么是抽象方法?什么是抽象类?
解答:如果一个类中的方法,只要方法定义,没有方法具体实现,那么该方法就称为抽象方法。
而拥有抽象方法的类叫做抽象类。
3、接口如何定义?接口如何实现?实现一个接口必须要做什么?
解答:接口是类的一种行为的抽象。接口可以看做抽象类的特类。
抽象类中可以有抽象方法,也可以有具体方法;但是接口中只能有抽象方法。
定义接口使用interface,实现接口使用implements.
4、接口中的方法修饰符是什么?接口中的变量修饰符是什么?
解答:接口中的抽象方法修饰符为public static,即使在缺省的条件下,都会默认为
它们为修饰符{公有的静态的抽象方法}
变量的修饰符是:public static,[公有静态常量]
5、接口和抽象类的区别是什么?
解答:1.接口和抽象类都不能直接实例化。
2.抽象类中可以抽象方法,也可以有实例方法,但是接口中只能有抽象方法。
3.抽象类中定义的变量是普通属性,但是接口中定义的变量是公共的静态的常量。
4.一个类只能继承一个抽象类,但是可以实现多个接口。
6、什么时候使用继承?什么时候使用接口?
解答:接口可以继承接口,同时可以多继承接口。一个类实现一个接口,不但要实现该接口中
定义的抽象方法,而且要实现该接口父接口中定义的抽象方法。除此之外就使用继承来完成。
7.多态的总结:
l 使用父类类型的引用指向子类的对象。
l 该引用只能调用父类中定义的方法,不能调用子类中独有的方法。
l 如果子类中重写了父类中的一个方法,那么在调用该方法时,将会调用子类中的这个方法。
l 在多态中,子类可以调用父类中所有的方法。
l 多态主要体现为重载与重写,相同的行为不同的实现方式。
l 多态主要应用为多态参数和多态集合。
l 如果一个方法有父类作为参数类型,就意味着可以给该方法传递任何一个字类对象。
如果一个类中的方法,只要方法定义,没有方法具体实现,那么该方法就称为抽象方法,而拥有抽象方法的类叫做抽象类,用关键字abstract定义。抽象类不能直接实例化,如果要实例化抽象类,那么抽象类变量需要指向子类对象。
抽象类中可以定义抽象方法,也可以定义具体的方法。如果一个类继承抽象类,那么必须重写抽象类中定义的所有抽象方法。
抽象方法定义的意义在于,使用父类变量指向子类对象时,可以对抽象方法进行调用。
JAVA代码查错
a、
abstractclass Name {
private String name;
public abstract boolean isStupidName(Stringname) {}
}
解答:抽象方法是只定义,无实现的方法,在句末直接用分号结束。
b、 abstract class Something {
private abstract String doSomething ();
}
解答:Something的类缺省时为public ,下面的方法只能使用protected,public,缺省来修饰,
不能使用其他修饰符修饰抽象方法(private).
c、public class Father{
public Father(int x){
}
}
classChild extends Father{
public Child(){
}
}
解答:子类中的方法必须使用super(参数),调用父类的构造方法(这时super可以不写)及重载方法
(必须要写),在子类对象产生前就产生父类对象。
d、public class Father{
public void test(){
}
}
classChild extends Father{
public void speak(){
}
}
classTest{
public static void main(String[] args){
Father f = new Child();
f.speak();
}
}
解答:用父类对象变量接收子类对象时,父类变量名.(),括号内的方法和属性只能是父类对象的,无法访问子类
对象的方法与属性。
e、interface A{
int x = 0;
}
classB{
int x =1;
}
classC extends B implements A {
public void pX(){
System.out.println(x);
}
public static void main(String[] args) {
new C().pX();
}
}
解答:pX方法中的x没有声明和初始化,不知道是指哪个x。
说出运行结果
1、abstract class Base{
abstract public void myfunc();
publicvoid another(){
System.out.println("Anothermethod");
}
}
publicclass Abs extends Base{
public static void main(String argv[]){
Base a = new Abs();
a. another ();
}
publicvoid myfunc(){
System.out.println("My Func");
}
publicvoid another (){
super.another();
myfunc();
}
}
解答:运行结果是:Anothermethod,My Func
2、interface MyIn{}
publicclass MyClass implements MyIn{
static String str;
public MyClass(){
}
public static void main(String[] args) {
MyClass myClass = new MyClass();
System.out.print(myClass instanceof MyIn);
System.out.println(str instanceof String);
}
}
解答:运行结果是:true,false.
代码实现以下文字描述的系统。
1、手机有打电话、听歌、照像、摄像的功能。应该如何设计?(继承类,实现多个接口)
2、超人、鸟、飞机都会飞,现在空管局的人要控制这些会飞的东西。我们该怎么设计。
3、在一个游戏中,有盗贼,猎人,医生,农民,士兵几类人,这些人都有名称、等级,还可以自己介绍自己;
其中,
盗贼可以偷盗。
猎人可以打猎。
农民可以采矿。
盗贼、猎人和农民可以攻击。
农民、医生可以治疗。
士兵可以抵抗盗贼、猎人和农民等的攻击。
还有一个玩家可以控制这些角色。
设计这个系统。
- 多态总结,接口知识==0914
- 接口知识总结
- 接口的相关知识总结
- Java 接口 多态概念 知识
- Java知识总结-抽象类和接口
- 抽象类接口等知识总结
- C# 接口(知识要点归纳总结)
- 嵌入式系统知识及接口技术总结
- java 自我知识总结(十五)接口
- javaEE学习_前期小知识文字总结(接口抽象类和多态封装代码块)
- 软考总结=知识+技巧
- 黑马程序员_Java继承、多态、接口零碎知识总结
- 字符串常量池,面向超类,接口知识笔记总结
- java知识总结(五)抽象和接口
- 嵌入式系统基础及知识及接口技术总结
- 嵌入式系统基础及知识及接口技术总结
- 嵌入式系统基础及知识及接口技术总结
- JAVA集合框架Collection接口和Map接口主要知识总结
- 从零开始学习Nodejs(一)
- 【Java TCP/IP Socket】Java NIO Socket VS 标准IO Socket
- JZOJ4559 【NOI2016模拟6.23】水平线上的肮脏交易和卑鄙勾当 转换模型后CDQ分治
- 设置的mysql密码无效的问题
- 【iOS开发】swift 3.0 延长设置launch image启动页面图片显示时间
- 多态总结,接口知识==0914
- 如何设置Oracle客户端与服务器的字符集一致
- Java继承,在构造函数内对父类初始化的问题
- IDL common block
- 【Java TCP/IP Socket】基于NIO的TCP通信(含代码)
- python术语
- 单向加密
- 【Java TCP/IP Socket】深入剖析socket——数据传输的底层实现
- HTML元素显示方式