传智博客学习笔记7--面向对象上
2009-04-01 20:44
211 查看
传智博客学习笔记7--面向对象上
static静态方法
在静态方法里只能直接调用同类中其它的静态成员(包括变量和方法),而不能直接访问类中的非静态成员。这是因为,对于非静态的方法和变量,需要先创建类的实例对象后才可使用,而静态方法在使用前不用创建任何对象。
静态方法不能以任何方式引用this和super关键字(super关键字在下一章讲解)。与上面的道理一样,因为静态方法在使用前不用创建任何实例对象,当静态方法被调用时,this所引用的对象根本就没有产生。
main() 方法是静态的,因此JVM在执行main方法时不创建main方法所在的类的实例对象,因而在main()方法中,我们不能直接访问该类中的非静态成员,必须创建该类的一个实例对象后,才能通过这个对象去访问类中的非静态成员,这种情况,我们在以后的例子中会多次碰到。
static的作用
静态变量
静态方法
System.out.println:
System是类名,out是静态成员。这样使用时就不需要新建一个System对象即可调用println方法
静态代码块
static
{
}
单态设计模式
所谓类的单态设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。
使用static实现
疑问:什么情况下使用单态设计模式?
嵌套类
class Outer
{
class Inner
{
}
}
Inner可以直接访问Outer中的变量
Outer不能直接访问Inner中的变量
难点:内部类被外部类引用
突然发现张老师也挺可爱的。似乎这个视频是他的前几次讲课录制的。并不像之前项目实战的汤老师那样,有驾轻就熟的感觉,书写代码时几乎不需要思考。张老师经常想在讲课的过程中设置陷阱,让我们在运行时才发现错误,通过错误学习。可惜水平太高,往往不自觉地就把陷阱破解了。运行时才发现没有问题:)
static静态方法
在静态方法里只能直接调用同类中其它的静态成员(包括变量和方法),而不能直接访问类中的非静态成员。这是因为,对于非静态的方法和变量,需要先创建类的实例对象后才可使用,而静态方法在使用前不用创建任何对象。
静态方法不能以任何方式引用this和super关键字(super关键字在下一章讲解)。与上面的道理一样,因为静态方法在使用前不用创建任何实例对象,当静态方法被调用时,this所引用的对象根本就没有产生。
main() 方法是静态的,因此JVM在执行main方法时不创建main方法所在的类的实例对象,因而在main()方法中,我们不能直接访问该类中的非静态成员,必须创建该类的一个实例对象后,才能通过这个对象去访问类中的非静态成员,这种情况,我们在以后的例子中会多次碰到。
static的作用
静态变量
静态方法
System.out.println:
System是类名,out是静态成员。这样使用时就不需要新建一个System对象即可调用println方法
静态代码块
static
{
}
单态设计模式
所谓类的单态设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。
使用static实现
疑问:什么情况下使用单态设计模式?
嵌套类
class Outer
{
class Inner
{
}
}
Inner可以直接访问Outer中的变量
Outer不能直接访问Inner中的变量
难点:内部类被外部类引用
突然发现张老师也挺可爱的。似乎这个视频是他的前几次讲课录制的。并不像之前项目实战的汤老师那样,有驾轻就熟的感觉,书写代码时几乎不需要思考。张老师经常想在讲课的过程中设置陷阱,让我们在运行时才发现错误,通过错误学习。可惜水平太高,往往不自觉地就把陷阱破解了。运行时才发现没有问题:)
相关文章推荐
- 传智博客学习笔记6--面向对象上
- 传智博客学习笔记8--面向对象下
- 传智博客学习笔记9--面向对象下
- 传智博客学习笔记5.9
- Java学习:面向对象笔记整理
- PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
- 【学习笔记】java面向对象复习01
- 【学习笔记09】java面向对象-final、抽象类
- delphi高手突破学习笔记之面向对象类和对象的本质
- C++primer学习笔记----面向对象程序设计(1)
- C++primer学习笔记----面向对象程序设计(2)
- Python面向对象高级编程——学习笔记
- PHP学习笔记十七【面向对象定义类】
- 【学习笔记10】java面向对象-接口
- [java学习笔记]java语言核心----面向对象之this关键字
- Python面向对象学习笔记-类、属性、方法
- 【学习笔记13】java面向对象-强制类型转换
- 【Python】学习笔记九:面向对象拓展
- 面向对象的程序设计-学习笔记-25-运用实例
- Java学习笔记10(面向对象三:接口)