什么是java中类成员(19. 什么是类成员,什么是实例成员他们之间有什么区别)
这篇文章给大家聊聊关于什么是java中类成员,以及19. 什么是类成员,什么是实例成员他们之间有什么区别对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。
java编程中的成员方法是什么
类包括成员变量和方法两部分。成员变量表示类的属性,一数据域的形式表达,方法是数据的操作的定义。在JAVA中,方法只能作为类的成员,也称为成员方法。方法操作类所定义的数据,以及提供对数据的访问的代码。
方法声明包括方法名、返回类型和外部参数。其中参数的类型可以是简单数据类型,也可以是复合数据类型(又称引用数据类型)。
对于简单数据类型来说,java实现的是值传递,方法接收参数的值,但不能改变这些参数的值。如果要改变参数的值,则用引用数据类型,因为引用数据类型传递给方法的是数据在内存中的地址,方法中对数据的操作可以改变数据的值。
编辑并运行一个Java程序
使用文字编辑软件(例如记事本、写字板、UltraEdit等)或集成开发环境(Eclipse、MyEclipse等)在Java源文件中定义不同的类,通过调用类(这些类实现了Java API)中的方法来访问资源系统,把源文件编译生成一种二进制中间码;
存储在class文件中,然后再通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用。
以上内容参考:百度百科-Java
java类的成员有哪些
在一个类的内部,一般包括以下几类成员:成员变量、构造方法、普通方法和内部类等。使用反射机制可以在无法查看源代码的情况下查看类的成员。编写程序,使用反射机制查看ArrayList类中定义的成员变量、构造方法和普通方法。
思路分析:这个ArrayList类不是自己定义的,就是Java里面的java.util.ArrayList类。
代码如下:
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class ClassViewer{
public static void main(String[] args) throws ClassNotFoundException{
Class<?> clazz= Class.forName("java.util.ArrayList");
System.out.println("类的标准名称:"+ clazz.getCanonicalName());
Constructor<?>[] constructors= clazz.getConstructors();//获得该类对象的所有构造方法
System.out.println("类的构造方法:");
if(constructors.length!= 0){
for(Constructor<?> constructor: constructors){
System.out.println("\t"+ constructor);//输出构造方法
}
} else{
System.out.println("\t空");
}
Field[] fields= clazz.getDeclaredFields();//获得该类对象的所有非继承域
System.out.println("类的非继承域变量:");
if(fields.length!= 0){
for(Field field: fields){
System.out.println("\t"+ field);//输出非继承域
}
} else{
System.out.println("\t空");
}
Method[] methods= clazz.getDeclaredMethods();//获得该类对象的所有非继承方法
System.out.println("类的非继承方法:");
if(methods.length!= 0){
for(Method method: methods){
System.out.println(method);//输出非继承方法
}
} else{
System.out.println("\t空");
}
}
}
java中成员类和本地类分别是什么意思
对普通类(没有内部类的类)来说,内部类和外部类都与他无关;对有内部类的类来说,它们就是其内部类的外部类,外部类是个相对的说法,其实就是有内部类的类。
所以,要回答这个问题,只需要讲解内部类是什么:
Java中的内部类共分为四种:
静态内部类static inner class(also called nested class)
成员内部类member inner class
局部内部类local inner class
匿名内部类anonymous inner class
静态内部类Static Inner Class
最简单的内部类形式。
类定义时加上static关键字。
不能和外部类有相同的名字。
被编译成一个完全独立的.class文件,名称为OuterClass$InnerClass.class的形式。
只可以访问外部类的静态成员和静态方法,包括了私有的静态成员和方法。
生成静态内部类对象的方式为:
OuterClass.InnerClass inner= new OuterClass.InnerClass();
示例代码:
package com.learnjava.innerclass;
class StaticInner
{
19. 什么是类成员,什么是实例成员他们之间有什么区别
JAVA实例成员和类成员
用static关键字可以声明类变量和类方法,其格式如下:
static type classVar;
static returnType classMethod({paramlist}){
…
}
如果在声明时不用static关键字修饰,则声明为实例变量和实例方法。
1)实例变量和类变量
每个对象的实例变量都分配内存,通过该对象来访问这些实例变量,不同的实例变量是不同的。
类变量仅在生成第一个对象时分配内存,所有实例对象共享同一个类变量,每个实例对象对类变量的改变都会影响到其它的实例对象。类变量可通过类名直接访问,无需先生成一个实例对象,也可以通过实例对象访问类变量。
2)实例方法和类方法
实例方法可以对当前对象的实例变量进行操作,也可以对类变量进行操作,实例方法由实例对象调用。
但类方法不能访问实例变量,只能访问类变量。类方法可以由类名直接调用,也可由实例对象进行调用。类方法中不能使用this或super关键字。
例3-7是关于实例成员和类成员的例子。
【例3-7】
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());
}
}
OK,关于什么是java中类成员和19. 什么是类成员,什么是实例成员他们之间有什么区别的内容到此结束了,希望对大家有所帮助。