您的位置:首页 > 编程语言 > Java开发

java基础概念

2016-07-16 23:16 309 查看
目录

1 局部变量

2 成员变量(实例变量与类变量)

3构造方法

4实例方法和类方法

5 匿名类

类是java的基本单元

类中包含 成员变量(field) 和 成员方法(method), 内部类

注意没有语句。

/属性(成员变量)的声明/ 修饰符 数据类型 属性名(标识符)

成员变量分为 实例变量 (不以static类修饰 )类变量

成员变量定义在类中,在整个类中都可以被访问。

成员变量分为类成员变量和实例成员变量,实例变量存在于对象所在的堆内存中。

成员变量有默认初始化值。

成员变量的权限修饰符可以根据需要,选择任意一个(public static (静态的)private (default,缺省的)

局部变量

局部变量只定义在局部范围内,如:方法内,代码块内,方法的形参等。

局部变量存在于栈内存中。

作用的范围结束,变量空间会自动释放。

局部变量没有默认初始化值,每次必须显式初始化。

局部变量声明时不能指定权限修饰符

成员变量中类变量和实例变量的比较

不同对象的实例变量被分配不同的内存空间,而且不同对象的实例变量互不影响,但类变量不同,当类被加载到内存的时候,类中的类变量就被分配了相应的内存空间,而且当类被实例化(new)的时候,类变量不再重新分配内存空间。所有该类的对象共享实例变量,(每一个该类的对象对其的操作都会记录在类变量当中)而且类变量的内存空间直到程序退出运行才释放其所占的内存。

类变量可以使用类名.变量的形式访问,而实例变量必须对象.变量的形式访问。

*/

public double field1;

private int field2;

/* 对象的声明和为声明的对象分配成员变量。

Person p;对象的声明。

p = new Person();为对象分配成员变量。

构造方法

构造方法 作用就是类实例化才调用,其实构造器属于一种特殊

的方法。

可以在构造器中 调用其它构造器,但是必须放在构造器的首行。

1.必须与类名相同

2.不声明返回值类型(与声明为void的不同)

3.不能被static,final,synchronized,abstract,native修饰,不能有return语句返回值。

(只能在创建对象的时候调用一次)

4.每个类至少有一个构造器,编译器会默认提供一个无参的构造器。

5.默认构造器的修饰符与其所属类的修饰符一致。

6.一个类可以创建多个 重载 的构造器。

7.一旦显式的定义了构造器,那么系统将不再提供默认的构造器。

8.父类的构造器不可以被子类继承。

如果构造器的参数包含了所有的属性,那么我们成之位全参构造器。

类中方法的一般定义

修饰符 返回值类型 方法名(数据类型 形参……)

/方法声明,又叫方法头Method Header,

{

方法体 Method Body

}

修饰符 public protected private等。

返回值类型 由return语句传递数值,没有返回值,则void的。

除了特殊的方法-构造方法之外,其他的方法又分为实例方法和类方法(静态方法static 修饰符修饰)

实例方法和类方法

实例方法必须通过类的对象来调用。

类方法可以通过类名来调用。【java中规定::类方法中出现的成员变量必须是所有对象共享的变量(类变量),即类方法不能操作实例变量。

*/

public int getValue(){

return field1 ;

}

public void setValue(double a) {

field1 = a;

}

}

public class UsingTest {

public static void main(String[] args ) {

/* 使用new 关键字实例化对象

类名 新对象名 = new 构造器;

访问对象的成员以.的形式访问

新对象.对象成员

*/

Test tes1 = new Test();

}

}

/*

匿名类

不定义对象的句柄,直接调用对象的方法这样的类叫做匿名类。

如:new Test().getValue();

使用情况:

如果对一个对象只需要进行一次方法调用,那么就可以使用匿名对象。

我们经常将匿名对象作为实参传递给一个方法调用。

空指针异常(NullPointerException)没有实体的对象成为空对象,空对象没有实例化任何对象,所以空对象不能操作任何方法和成员。

例如;

Person p; //此时p 就是一个空对象

Person[] p =new Person [4]; //p[0-3]也是空对象

Person p = new Person(); p = null;//此时p 也是空对象。

空对象不能调用方法产生行为,而javac(java编译器不会对空对象作检查,所以需要我们在编写代码的时候特别注意,空对象的产生)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java基础