如何构建一个java程序呢?
前言
如果一切都是对象,那么是什么决定了某一类对象的外观与行为?或者说,是什么确定了对象的类型?我们将解决这个问题
一、类是什么?
大多数面向对象的编程语言习惯用"class"这个关键字表示,比如
class ATypeName{/*class body goes here*/}
你可以用new来创建这种类型的对象:
ATypeName a = new ATypeName();
一旦定义了一个类,就可以在类中设置两种类型的元素:字段和方法。字段可以使任何类型的对象,可以通过其他引用与其他进行通信;也可以是最基本类型其中的一种。如果是某个对象的引用,那么必须初始化这个引用,让他成为一个实际的对象,比如:
class DataOnly {
int i;
double j;
boolean k;
}
这个dataonly除了保存数据没有任何别的作用,因为他没有任何的成员方法。我们如下会讲解,先说说参数和返回值的概念
基本成员默认值
即使没有初始化基本数据类型,java也会确保它有一个默认值,如图:
基本类型 | 默认值 |
boolean | false |
char | '\uoooo'(null) |
byte | (byte)o |
short | (short)o |
int | o |
long | oL |
float | o.of |
double | o.od |
所以在使用的时候明确的对它们初始化,否则会导致不正确报错,甚至有些是不合法的
java的方法决定了一个对象能够接受什么样的消息。方法的基本组成包括:名称、参数、返回值和方法体。如下:
ReturnType methodName( /* Argument list */ ){
//方法体
}
返回类型描述的是调用方法之后从方法返回的值,void是无返回值。调用的方法也很简单,如:
objectName.methodName(arg1,arg2arg3);
二、构建一个java程序
1.名字可见性
在《Java编程思想》里面说到:Java采用了一种全新的方法避免所有问题,设计者希望程序员反过来使用自己的internet域名,因为这样可以保证它们肯定是独立的
2.static关键字
通常来说,在创建类的时候,只是在描述,除非使用new关键字创建那个类的对象,否则,实际上并没有获得任何对象。执行new的时候,数据空间才会被分配,它的方法才被调用。
通过static关键字就可以让它不产生对象或者说不和包含它的那个类任何对象有关联,比如:
class StaticTest{
static int i = 99
}
StaticTest st1 = new StaticTest();
StaticTest st2 = new StaticTest();
在这里,st1.i和st2.i都指向的是同一个储存空间,因此他们有同样的值99.
静态类方法:
class Incrementable{
static void increment(){StaticTest i++}
}
我们可以通过对象来调用increment(),因为他是一个静态方法,所以它的类我们直接调用
Increment sf = new Increment();
sf.incremnet();