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编译器不会对空对象作检查,所以需要我们在编写代码的时候特别注意,空对象的产生)
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基础知识
- java基础(一)
- 怎样学习java,漫谈java学习之路
- 设置jdk环境变量时lib中的rt.jar ,dt.jar ,tool.jar是什么,作用是什么
- Java 集合系列11之 Hashtable详细介绍(源码解析)和使用示例
- 学习日志---treemap
- java基础知识笔记
- java中web应用中重定向与转发的区别
- java基础篇---枚举详解
- java基础第七天
- java基础第十天
- java基础第十二天
- java基础第十三天
- java基础第十四天
- java基础第十六天
- java基础第十七天
- java基础数据类型包装类
- equals与null
- java基础第三天_数组
- java基础第五天_静态代码块、类的继承和接口