Java
Pory
这个作者很懒,什么都没留下…
展开
-
面向对象编程基础 一 匿名对象,函数重载和构造函数
匿名对象顾名思义即没有对象名,直接调用,如new Dog().fun(),没有对象名,但会在堆中开辟一个对象。每次new都不一样,在程序中连续使用new Dog().fun(),表示不同的对象,而不是同一个。JAVA匿名对象会被分配到堆内存,分配到内存后运行一次就变成垃圾了,一次性使用的因为没有对象名找不到,不过内存处理机制会对一定时间内无指针指向的对象进行 destrory()。这里注意原创 2014-03-11 08:18:03 · 1183 阅读 · 0 评论 -
面向对象编程基础 三 静态成员变量,静态函数以及静态代码块
静态成员变量,定义即在成员变量前加上关键字static。静态成员变量属于类被所有对象实例共有,类和对象均能直接调用,其中一个对象改变了静态成员变量,相当于类中所有对象的该变量均改变了。静态成员变量一般使用较少,通常定义静态成员常量,这样类可以直接调用。静态成员函数,定义即在成员函数前面加上static,也是可以由类来直接调用的。静态方法是不能访问实例域,但是可以访问自身类中的静态域。如下面的代原创 2014-03-12 11:29:07 · 949 阅读 · 0 评论 -
面向对象编程基础 二 this的用法
this可以简单的理解为当前的对象,在构造对象时可以理解为对象的第一人称“我”。this一般被分为三种用法:1、this表示对象成员变量的引用而非函数参数变量,如下面的代码public class Test{private int i;public void fun(int i){this.i = i+1;}}上面的this.i即表示当前当前成员变量的私有成员变量i,而原创 2014-03-12 10:25:36 · 1566 阅读 · 0 评论 -
面向对象编程基础 四 子类的继承
面向对象编程有个基本原则就是尽量减少重复代码。而子类继承也是基于这一基本原则,子类能够继承父类中的成员变量和方法(除去构造函数),然后根据子类的属性增加成员变量,方法或者覆盖(复写,重写)父类中的方法,可以看做为父类的扩展。在继承父类时Java使用关键字extends区别C++的语法,而且Java只能单继承这也是和C++的不同之处。如下面代码class Person{ String n原创 2014-03-12 22:08:23 · 796 阅读 · 0 评论 -
面向对象编程基础 六 包和访问权限
包关键字package,主要避免在工程中出现同名的类,所以将类放在不同的包中,则编译后类的全名即为包名.类名,也会依据包名依次生成目录。这样即使类同名了,还是可以直接用,只是得有全名。当然如果使用import导入包,这样就可以直接用类名了,不用写出繁琐的包名.类名。包名的命名一般是使用域名然后反向使用。访问权限Java中表明类和成员的权限的关键字有public,private,defa原创 2014-03-29 17:52:34 · 887 阅读 · 0 评论 -
面向对象编程基础 五 抽象函数和抽象类
抽象,关键字,abstract。如果一个类中申明了一个抽象函数,则该类也必须为抽象类。但一个类如果是抽象类,则里面的函数不一定要申明为抽象函数。抽象类这个类不能生成对象,天生就是用来被继承作为父类的。但是抽象类是有构造函数的,因为子类在生成对象时首先会调用父类中的构造函数。抽象类的作用,抽象类最基本的一个作用就是能够将语义错误编程语法错误便于检查。比如A类申明为抽象类,里面有一个fun()函数原创 2014-03-29 15:46:53 · 845 阅读 · 0 评论