Java类基础结构
来源:互联网 发布:迎乐软件科技有限公司 编辑:程序博客网 时间:2024/04/30 07:34
Java类基础结构
1.类声明:
[public] [abstract|final] class className [extends superclassName] [implements interfaceNameList]
{……}
l abstract: 抽象类
l final:表明该类不能被继承
2.成员变量
[public | protected | private ] [static] [final] [transient] [volatile] type variableName;
l static: 静态变量(类变量);相对于实例变量
l final: 常量
l transient: 暂时性变量,用于对象存档,用于对象的串行化
l volatile: 贡献变量,用于并发线程的共享
3.成员方法
[public | protected | private ] [static] [final | abstract] [native] [synchronized]
returnType methodName([paramList]) [throws exceptionList]
{statements}
方法声明中的限定词的含义:
l static: 类方法,可通过类名直接调用
l abstract: 抽象方法,没有方法体
l final: 方法不能被重写
l native: 集成其它语言的代码
l synchronized: 控制多个并发线程的访问
4. Java中类的限定词的作用范围比较
同一个类
同一个包
不同包的子类
不同包非子类
private
Y
default
Y
Y
protected
Y
Y
Y
public
Y
Y
Y
Y
5.实例变量、实例方法和类变量、类方法(static)
l 实例变量和类变量
每个对象的实例变量都分配内存,通过该对象来访问这些实例变量,不同的实例变量是不同的。类变量仅在生成第一个对象时分配内存,所有实例对象共享同一个类变量,每个实例对象对类变量的改变都会影响到其它的实例对象。类变量可通过类名直接访问,无需先生成一个实例对象,也可以通过实例对象访问类变量。
l 实例方法和类方法
实例方法可以对当前对象的实例变量进行操作,也可以对类变量进行操作,实例方法由实例对象调用。但类方法不能访问实例变量,只能访问类变量。类方法可以由类名直接调用,也可由实例对象进行调用。类方法中不能使用this或super关键字。
class Member {
static int classVar;
int instanceVar;
static void setClassVar(int i) {
classVar=i;
// instanceVar=i; // 类方法不能访问实例变量
}
static int getClassVar()
{ return classVar; }
void setInstanceVar(int i)
{ classVar=i; //实例方法不但可以访问类变量,也可以实例变量
instanceVar=i; }
int getInstanceVar( )
{ return instanceVar; }
}
public class MemberTest{
public static void main(String args[]) {
Member m1=new member();
Member m2=new member();
m1.setClassVar(1);
m2.setClassVar(2);
System.out.println("m1.classVar="+m1.getClassVar()+"
m2.ClassVar="+m2.getClassVar());
m1.setInstanceVar(11);
m2.setInstanceVar(22);
System.out.println("m1.InstanceVar="+m1.getInstanceVar
()+" m2.InstanceVar="+m2.getInstanceVar());
}
}
- Java类基础结构
- java基础结构;
- 【Java基础】Java循环结构
- 【Java基础】Java分支结构
- Java语言基础(一)-java主类结构
- JAVA基础之“源程序结构”
- Java基础和语句结构
- JAVA基础----循环,选择结构
- Java基础---判断结构示例
- Java基础04-循环结构
- Java基础__(循环结构)
- Java 基础 选择结构程序设计
- java基础-eclipse工程结构
- java基础—内存结构
- .java语言基础-顺序结构
- Java基础2-----循环结构
- Java基础4--循环结构
- JAVA基础(七)迭代器及结构类模式总结
- Ajax的Javascript框架:Prototype
- Ajax的Javascript框架:Prototype
- [转]防火墙、防病毒网关、IDS以及该类安全产品开发(文章汇总)
- C++反汇编揭秘2 – VC编译器的运行时错误检查(RTC)
- 转贴:C++ ABI: Exception Handling
- Java类基础结构
- 转贴:C++ ABI (Application Binary Interface)
- Java数据类型和参数传递
- Win32/MFC/COM学习推荐书籍
- 上不了qq,解决办法
- Java继承
- [转]防火墙、防病毒网关、IDS以及该类安全产品开发(文章汇总)
- sbssdh嵌入式系统的发展
- Java多态