黑马程序员日记-2

原创 2015年11月18日 19:51:57

------- Android培训java培训 期待与您交流! ----------

内部类:一般用于类的设计

* 内部类可以直接访问外部类成员,外部类不能直接访问内部类成员,可 以通过内部类对象访问。

如果内部类中定义了静态成员, 该内部类也必须是静态的

内部类放在局部只能访问局部中用final修饰的局部变量

匿名内部类:

当函数参数是接口类型,而且接口中的方法不超过三个,可以用匿名内部 类作为实际参数进行传递

匿名内部类必须继承一个外部类或实现接口,匿名内部类其实是一个匿名 子类对象

 




 

 

继承:

* JAVA不支持多继承

* 构造方法不能被继承,子类对象生成时如果没有指定调用父类的哪个构造 函数则会先自动调用父类的无参构造函数,再调用自身的构造函数,目 的是子类继承了父类,就获取到了父类的内容(属性),所以使用父类 内容前要看父类是如何初始化父类自身内容的,所以必须访问父类中的 构造函数,如果父类构造函数没有定义无参构造函数,那么子类必须用 super();指定要访问父类的哪个构造函数,super语句必须放在子类构造函 数的第一行,因为父类初始化动作必须先完成

* 子类重写父类方法时,其方法的访问权限不能低于父类

主函数:格式固定,被JVM所识别和调用

public:权限必须最大

static: 虚拟机调用主函数不需要对象(类名.main()

void: 主函数不需要返回值

main: 函数名

String[] args:参数列表

final

修饰变量时该变量成为常量,必须赋值且只能付一次值

修饰方法时该方法在子类中不能被重写

修饰类时该类不能被继承

抽象类:

* 抽象类中不一定都是抽象方法,含有抽象方法的类一定是抽象类

子类必须实现父类所有抽象方法,否则还是一个抽象类

抽象类不能实例化

抽象类有构造方法,用于给子类初始化

* abstract关键字不能和以下关键字共存:

* finalfinal修饰的类不能被继承,抽象类则需要子类继承

* private:抽象类中如果有私有方法,子类无法进行重写

* static:如果成员是静态的则不需要对象就能运行,而抽象方法没有方 法体

接口:接口是一种特殊的抽象类,如果一个抽象类中所有的方法都是抽象的,那 么这个抽象类就是接口,接口与接口间是继承关系,而且接口可以多继承

抽象类和接口的区别:

抽象类需要被继承而且只能单继承,接口需要被实现而且可以多实现

抽象类中可以定义抽象方法和非抽象方法,子类继承后可以直接使用非抽 象方法,接口中只能定义抽象方法,必须由子类实现

抽象类的继承是 is a 关系,定义该体系的基本共性内容

接口的实现是like a关系,定义该体系的额外功能

抽象类描述事物,接口描述事物可以具有的功能

多态:

父类的引用既可以指向父类对象,也可以指向子类对象,程序可以根据当 前指向自动调用不同对象的方法

 

通过父类引用只能访问子类从父类继承过来的成员,不能访问子类特有成

向下转型是为了使用子类特有方法

在转型中自始至终都是子类对象在做类型转换

多态中成员特点:

成员变量:编译和运行时参考引用型变量所属类中是否有调用的成员 变量,有编译通过,没有编译失败

非静态成员函数:

编译时参考的是引用型变量所属类中是否有调用的成员变量

运行时参考的是对象所属的类中是否有调用的函数

静态函数:编译和运行时参考引用型变量所属类中是否有调用的静态 方法,有编译通过,没有编译失败

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

黑马程序员————学习日记【3】 【Java基础编程2】

------- android培训、java培训、期待与您交流! ----------   一、循环结构   1、 while:先判断条件,只有条件满足才执行循环体 do whil...

黑马程序员Java学习日记(2)面向对象

------- android培训、java培训、期待与您交流! ----------   1.概念 (1)理解面向对象:  它是一个思想,它能让复杂的问题变简单化,它能让我们的角度发生转变,...

黑马程序员_JAVA学习日记_面向对象2

黑马程序员-学习笔记   黑马程序员_JAVA基础_面向对象2   ------- android培训、java培训、期待与您交流! ----------   面向对象: 1.代码块:就...

黑马程序员- ASP.NET(2)学习日记

---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------   WebForm中包含两...

黑马程序员_学习日记6_ADO.Net入门2

---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ---------------------- 4月17日 继续ADO.Net……...

黑马程序员_JAVA学习日记_JAVA中API:集合框架2(Map集合及其子集合)

黑马程序员-学习日记   黑马程序员_JAVA学习日记_JAVA中集合框架2(Map集合及其子集合)   ------- android培训、java培训、期待与您交流! ----------...

黑马程序员_学习日记60_706Dom2(事件冒泡、this、动态创建Dom、innerHTML、动态设置样式)

一、 事件冒泡 (一) window.event.cancelBubble 取消事件冒泡 aaaa ...

黑马程序员_Java学习日记2_面向对象总结1

----------------------android培训、java培训、期待与您交流! --------------------- 1.关于main函数的讲解 主函数,是一个特殊的函数,...

黑马程序员_学习日记18_Dom(2)

1、 DOM的动态创建 l        document.write只能在页面加载过程中才能动态创建。 l        可以调用document的createElement方法来创建具有指定标...

黑马程序员_Java学习日记10_集合框架2

----------------------android培训、java培训、期待与您交流! --------------------- 1.Map集合 Map |--Hashtable:底...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员日记-2
举报原因:
原因补充:

(最多只允许输入30个字)