09.---抽象类、接口、instanceof、final、Object
2016-04-14 20:50
204 查看
1、抽象类
2、接口
3、instanceof
4、final
4、Object
一、抽象类
1、抽象类不能够实例化,abstract->class 前
2、如果说一个类里面有抽象方法,这个类必须是抽象类
3、抽象类里面可以有抽象方法和具体的方法
4、抽象类里面的抽象方法必须被子类重写。
5、抽象类的抽象方法不需要方法体,必须被abstract修饰
6、接口不能够实例化,但是可以声明为一个变量,指向一个继承了该父类的对象。
二、接口
1、interface 名称,接口是100%纯抽象。
2、类实现一个接口用implements
3、一个类可以实现多个接口 多个接口用“,”分隔开
4、如果一个类既要继承父类又要实现接口,必须先继承后实现
5、接口里面的方法不能有方法体
6、接口里面的方法默认为抽象方法,并且作用域为public, ->public abstract
7、接口不能够实例化,但是可以声明为一个变量,指向一个实现了该接口的对象。
8、一个接口可以继承另一个接口
9、接口是什么?对类的一组需求的描述。
10、接口中的变量实际为静态常量。---> public static final
三、final
1、如果修饰一个变量,该变量是表示一个常量
2、如果修饰一个方法,该方法不能被重写
3、如果修饰一个类,该类不能被继承。
4、final和static修饰变量的区别。final属于某个对象,只能赋值一次,在该对象中无法改
变。static属于一个类,实例化对象共有这一个变量,可以被改变却最终只有一个。
四、instanceof
可以比较一个实例化对象是否属于某个类,是否属于某个父类,是否属于某个接口。
五、命名规则:
接口名称一般以大写“I”开头。
常量名一般都为大写。
六、Eclipse快捷方式:
Ctrl+Shift+"o" 快速导入和删除无用的包。
代码:解析
构造抽象类Animal ,包含eat()方法,抽象方法sound()
构建一个接口,包含play(),beFriendly()方法,接口中的方法默认是,public abstract 方法,成员属性是 final static 修饰
构建一个子类 Cat继承 Animal 实现接口 Ipet , 接口的方法,父类的抽象方法,必须在子类中 覆写。
在 class Test 中 Animal animal = new Cat(); animal.eat(); 调用的是 父类的 被子类重写的方法。
结果:
hahha
2、接口
3、instanceof
4、final
4、Object
一、抽象类
1、抽象类不能够实例化,abstract->class 前
2、如果说一个类里面有抽象方法,这个类必须是抽象类
3、抽象类里面可以有抽象方法和具体的方法
4、抽象类里面的抽象方法必须被子类重写。
5、抽象类的抽象方法不需要方法体,必须被abstract修饰
6、接口不能够实例化,但是可以声明为一个变量,指向一个继承了该父类的对象。
二、接口
1、interface 名称,接口是100%纯抽象。
2、类实现一个接口用implements
3、一个类可以实现多个接口 多个接口用“,”分隔开
4、如果一个类既要继承父类又要实现接口,必须先继承后实现
5、接口里面的方法不能有方法体
6、接口里面的方法默认为抽象方法,并且作用域为public, ->public abstract
7、接口不能够实例化,但是可以声明为一个变量,指向一个实现了该接口的对象。
8、一个接口可以继承另一个接口
9、接口是什么?对类的一组需求的描述。
10、接口中的变量实际为静态常量。---> public static final
三、final
1、如果修饰一个变量,该变量是表示一个常量
2、如果修饰一个方法,该方法不能被重写
3、如果修饰一个类,该类不能被继承。
4、final和static修饰变量的区别。final属于某个对象,只能赋值一次,在该对象中无法改
变。static属于一个类,实例化对象共有这一个变量,可以被改变却最终只有一个。
四、instanceof
可以比较一个实例化对象是否属于某个类,是否属于某个父类,是否属于某个接口。
五、命名规则:
接口名称一般以大写“I”开头。
常量名一般都为大写。
六、Eclipse快捷方式:
Ctrl+Shift+"o" 快速导入和删除无用的包。
代码:解析
构造抽象类Animal ,包含eat()方法,抽象方法sound()
构建一个接口,包含play(),beFriendly()方法,接口中的方法默认是,public abstract 方法,成员属性是 final static 修饰
构建一个子类 Cat继承 Animal 实现接口 Ipet , 接口的方法,父类的抽象方法,必须在子类中 覆写。
在 class Test 中 Animal animal = new Cat(); animal.eat(); 调用的是 父类的 被子类重写的方法。
public abstract class Animal { public void eat(){
System.out.println("alla"); } public abstract void sound(); }
public interface Ipet { public void play(); public void beFriendly(); }
public class Cat extends Animal implements Ipet {
public void play(){
}
public void beFriendly(){
}
public abstract void sound(){
}
public void eat(){
System.out.println("hahha");
}
}
public class Test { public static void main(String[] args) { Animal animal = new Cat(); animal.eat(); } }
结果:
hahha
相关文章推荐
- Objective-C之KVO(键值监听)
- Object-C 类
- 第二章 Object-c 读书笔记
- objective-c - 类实例变量的声明
- 关于Objective C类方法load和initialize
- 挺好的 保存一下,有空看 《漫谈Objective-C :空段selector》
- 由删除要素属性引发的联想(api的很多东西本质上都是object,可以通过对object的操作来进行修改等)
- Objective-C初学: 对象的初始化
- Objective-C之KVC(键值编码)
- oc开发笔记2 AUGraph 完成同时录音与播放
- 关于Objective - C
- Block初探
- 学习ios【1】Objective-C 基本语法
- JS如何区分Object与Aarry的六种方法
- Objective—C中的排序及Compare陷阱
- NSDictionaryValueForKey与ObjectForKey区别
- 禅与 Objective-C 编程艺术
- Objective-C Runtime之着魔的UIAlertView
- Objective - C CALayer的简介
- Objective - C CAAnimation动画