黑马程序员_第四天

原创 2012年03月27日 13:20:42

----------------------android培训java  培训、期待与您交流! ----------------------

今天看到有点晕额,特别是构造函数 和super ,弄的有点乱,执行顺序有点搞混淆了,

 

 

构造函数

第一:构造函数名与类名相同;

第二:构造函数不返回任何值,也没有返回类型;

第三:每一类可以有零个或多个构造方法;

第四:构造方法在创建对象时自动执行,一般不用显示地直接调用。

要注意的是,①构造函数不返回任何值,也没有返回类型,因此在构造函数前面不可添加各种基本数据类型,也不可添加引用类型。关键问题是,既然构造函数不返回任何值,部分人很可能会在构造函数前面加上void关键字,这正是问题所在。虽然没有返回类型,而且void也表示不返回任何值,但在构造函数前面最好不要添加void关键字,②5每一类可以有零个或多个构造方法。如果类没有构造函数,编译器会自动添加默认的无参构造函数,当调用默认的构造函数时,就会利用构造函数为类的成员变量进行初始化,当然不同的类型其默认的初始值不同。一旦用户定义了构造函数,则不会产生默认的构造函数。当有多个构造函数时,系统会根据产生对象时,所带参数的不同而选择调用不同的构造函数。③构造方法在创建对象时自动执行,一般不用显示地直接调用。构造函数的作用是对类的成员变量进行初始化操作,因此都是在创建类的对象是自动执行

Static

1.静态变量

声明为static的变量实质上就是全局变量。当声明一个对象时,并不产生static变量的拷贝,而是该类所有的实例变量共用同一个static变量。静态变量与静态方法类似。所有此类实例共享此静态变量,也就是说在类装载时,只分配一块存储空间,所有此类的对象都可以操控此块存储空间。final除外。

2.静态方法

它们仅能调用其他的static方法。

它们只能访问static数据。

它们不能以任何方式引用thissuper

一般定义为静态方法的常为其它类提供一些工具使用,调用方面,类名.函数名

3.静态代码块

静态代码块只能定义在类里面,它独立于任何方法,不能定义在方法里面。

静态代码块里面的变量都是局部变量,只在本块内有效。

静态代码块会在类被加载时自动执行,而无论加载者是JVM还是其他的类,只执行一次,并优先于主函数。。

一个类中允许定义多个静态代码块,执行的顺序根据定义的顺序进行。

静态代码块只能访问类的静态成员,而不允许访问实例成员。

4. 静态类

通常一个普通类不允许声明为静态的,只有一个内部类才可以

final

final类不能被继承,没有子类,final类中的方法默认是final的。

final方法不能被子类的方法覆盖,但可以被继承。

final成员变量表示常量,只能被赋值一次,赋值后值不再改变。

final不能用于修饰构造方法。

注意:父类的private成员方法是不能被子类方法覆盖的,因此private类型的方法默认是final类型的。

 

static final用来修饰成员变量和成员方法,可简单理解为全局常量

super

Javasuper用法:假设类A派生出子类B,类B又派生出自己的子类C,则BC的直接父类,而AC的祖先类。super代表的就是直接父类。若子类的数据成员或成员方法名与父类的数据成员或成员方法名相同,当要调用父类的同名方法或使用父类的同名数据成员时,可用关键字super来指明父类的数据成员和方法。

super的使用方法有三种

1)用来调用直接父类的构造方法,其使用形式如下:super(参数)

2)用来访问直接父类隐藏的数据成员,其使用形式如下:super.数据成员

3)用来调用直接父类中被覆盖的成员方法,其使用形式如下:super.成员方法(参数)



 

----------------------android培训java  培训、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net/heima

 

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

相关文章推荐

黑马程序员----运算符与if语句,第四天学习笔记

1.        运算符:   赋值  = ++ += , 比较 == = ,逻辑  && || !  位运算   掌握要点,运算符的特性,综合使...

黑马程序员java学习第四天,数组以及排序算法

--------------------- android培训、java培训、期待与您交流! ---------------------- 数组的定义 概念 同一种类型数据的集合。其实数组就...

黑马程序员-------学习日记Java基础 第四天

---------------------- android培训、java培训、期待与您交流!----------------------  数组  数组的定义:同一种类型数据的集合 好处:可以...

黑马程序员--Java基础学习(数组)第四天

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- Java基础学习(数组)第三天 一,概述 数组的定义:数组是一个容器,是同一种类型的数据集...

黑马程序员Android学习笔记——金山卫士项目——第四天

主要学习内容: 1)号码归属地查询UI设计 2)号码归属地查询的原理 3)号码归属地查询的代码实现 5)输入框抖动和震动效果 6)来电、去电号码归属地的显示 7)代码注册广播接受者的实现 ...

黑马程序员~~第四天之循序渐进

---------------------- target="blank">android培训、java培训、期待与您交流! ----------------------     最近真...
  • achu3
  • achu3
  • 2012-05-18 20:26
  • 109

黑马程序员-第四天(数组)

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ------------------------   一数组的定义   1,概念:同...

黑马程序员 SQL SERVER第四天

---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ---------------------- 数字函数 1:ABS()绝对值 ...

黑马程序员——java第四天:基础语法(函数、数组)

函数android培训、java培训、期待与您交流! ----------/div>函数(方法):有特定功能的一小段代码程序。函数的格式:         修饰符 返回值类型 函数名(参数类型 形式参...

黑马程序员_第四天总结

------- android培训、java培训、期待与您交流! ---------- 面向对象: 面相对象概念 类与对象的关系 封装 构造函数 this关键字 static关键字 单...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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