黑马程序员——面向对象(接口和内部类)
来源:互联网 发布:qq好友定位软件 编辑:程序博客网 时间:2024/06/05 10:10
-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
一、接口
接口也是一种抽象类,接口是程序的功能的扩展,它降低了耦合性,更重要的是可以用来多实现,就是说一个子类可以实现多个接口。
抽象类是继承,是 "is a "关系。
接口是实现,是 ""like a关系。
抽象类中可以定义非抽象方法,供子类直接使用。
接口的方法都是抽象,接口中的成员都有固定修饰符。
二、内部类
一个类中还可以定义一个类,这个类中类就是内部类。
要实例化一个内普通类之前必须先实例化外部类对象。
内部类定义原则: 当描述事物中,事物的内部还有事物,该事物用内部类来描述。 因为内部事务在使用外部事物中的内容。
静态内部类
一个内部类属于一个外部类的成员,也可以被private static修饰;
如果一个内部类被修饰为private,这个内部类只能在外部类的内部使用;
如果一个内部类被修饰为static,实例化此内部类的时候不需要先实例化外部类;
静态的内部类只能访问静态的外部类成员;
如果一个一个内部类包含了静态成员,那么这个内部类必须是静态的;
局部内部类
/*
局部内部类:
1.在一个方法体内,可以定义一个类,叫:局部内部类;
*/
interface IA
{
void show();
}
class Outside
{
public IA fun(){
final int num = 10;
class Inside implements IA{
public void show(){
System.out.println("B --> show() num = " + num);
}
}
Inside inner = new Inside();
return inner;
//匿名内部类,实现IA接口的子类没有名字
/* IA aObj = new IA(){//相当于定义一个内部类实现IA接口,并且重写接口中的方法,而且同时实例化了一个这个子类对象
public void show(){
System.out.println("B --> show() ");
}
};
return aObj;
*/
/*return new IA(){
public void show(){
System.out.println("B --> show() ");
}
};
*/
}
}
class Demo
{
public static void main(String[] args)
{
//Outside outer = new Outside();
//outer.fun();
Outside a = new Outside();
//Object obj = a.fun();
IA obj = a.fun();
obj.show()
}
}
在一个方法体内,可以定义一个类,叫:局部内部类;
局部内部类的不可以为静态类;
内部类定义在局部的时候:
1.不可以被成员修饰符修饰
2.可以直接访问外部类中的成员,因为还持有外部类中的引用
但是不可以访问它所在的局部中的变量,只能访问被final修饰的局部变量。
面向对象可以说基本讲完,但是总感觉自己写代码时就错误百出。可能是自己练得不多吧!不过幸好听的比较认真,所以说压力不大。。。
-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
- 黑马程序员——面向对象(接口和内部类)
- 黑马程序员——java基础(面向对象)抽象、接口、内部类
- 黑马程序员——java-面向对象二(继承,多态,抽象,接口,包,内部类)
- 黑马程序员——面向对象(抽象类、接口、内部类)
- 黑马程序员-Java的面向对象(抽象类、接口、内部类和继承、组合、多态)
- 黑马程序员——java第九、十天:面向对象(内部类、异常和包)
- 黑马程序员-面向对象(下)--内部类和异常
- 黑马程序员——Java面向对象(接口、多态、内部类)
- 黑马程序员——Java面向对象之抽象类 接口 内部类笔记
- 黑马程序员—面向对象(static,封装,继承,多态,内部类,抽象类,接口)总结
- 黑马程序员—Java面向对象(抽象类、模板方法设计模式、接口、多态、内部类)
- 黑马程序员 面向对象--抽象类、接口、内部类总结
- 黑马程序员--面向对象学习---接口、多态、内部类、异常
- 黑马程序员--面向对象(接口,内部类,包,Object类)
- 黑马程序员——面向对象、内部类、多态
- 黑马程序员 Java面向对象——(匿名)内部类
- 黑马程序员 Java面向对象——(匿名)内部类
- 黑马程序员 Java面向对象——(匿名)内部类
- C/C++ 关于异或
- 项目四 撞错体验
- 快速寻找给定上限内质数的3个算法
- EXIF 方向参数 Orientation
- 章鱼哥出品——VB.NET 屏幕自适应功能的实现
- 黑马程序员——面向对象(接口和内部类)
- AIR/Flex学习笔记(1)
- 日语学习之沪江整理 20141013
- Android中Exif的操作以及Camera应用中相关代码优化方案
- 体验。。。。
- 20141013 GOOD GOOD STUDY
- EXIF查看器
- Handler 动态注入
- AIR/Flex学习笔记(2)