「java普通成员」java类有哪些成员

博主:adminadmin 2022-12-01 17:46:10 68

本篇文章给大家谈谈java普通成员,以及java类有哪些成员对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java中构造方法与普通成员方法相比,有哪些特点?

他们有各自的特点:

1. 构造方法: 类名(参数列表){}

一般写在成员变量的下面,没有返回类型,没有返回值是格式。

作用是:通过关键字new,创建类的一个实例,并初始化对象(比如初始化成员变量,就是在这个对象的准备工作)

调用: 类名 对象名 = new 构造方法(参数列表);

2. 成员方法: 返回类型 方法名(参数类表){}

是从现实中抽象出来的类的行为,也就是一个方法

作用:当需要时,执行某种用途或功能,可以返回一个值,或对象。

调用: 对象名.方法名(参数列表);

java构造方法与普通成员方法调用区别

构造方法用来初始化及创建一个对象的,普通成员方法可以通过对象来调用

Java问题:为什么类方法中不能访问普通成员变量而只能访问类变量??

呵呵,他们说的是不是不好理解啊?

好吧,那我举个容易理解的例子告诉你啊。

你说的“普通成员变量”其实就是“对象变量”,“普通成员”就是“对象方法”;

“静态变量”就是“类变量”,“静态方法”就是“类方法”。

这里面就涉及到类与对象的关系,我们举个例子:

人就是一个类,而由人生成出来的姚明、安东尼就是对象。

“人的眼睛个数”是类变量;

get人的眼睛个数()是类方法;

“身高”是对象变量;

get身高()是对象方法;

“普通成员方法可以访问静态变量”,也就是在姚明这个对象的get身高()中姚明想顺便获取“人的眼睛个数”那是可以的,就是2个眼睛吗。

“而相反的为什么静态方法却不能访问普通成员变量???为什么??”,在人这个类的get人的眼睛个数()中想获取身高。获取谁的身高呢?人这个类生出了那么多的对象出来,姚明有身高,安东尼有他的身高等等,人这个类不知道要获取哪个的啊。

从面向对象的思想来看,压根就说不过去啊。

这么长篇大论的希望对你有帮助哦。

java中成员的作用是什么?

public

class

Test

{

private

String

name;//成员变量,也是全局变量

public

void

changeName()

{

String

n

=

"tomoya";//n就是局部变量

name

=

n;

}

}

总的来说,定义在类里的,也就是name那个位置,就是成员变量,在JAVA里全局变量和成员变量是一个意思。

定义在方法里或域里就叫做局部变量,所谓域就是{}里面,比如

public

void

show()

{

int

b

=

2;//局部变量

if(true)

{

int

a

=

1;//局部变量

}

//这个位置访问a,无效

}

//这个位置,或其他方法里访问b,无效

他的作用范围:

局部变量离开了他的域{}就无效

成员变量的范围依赖他的访问修饰符,什么是访问修饰符呢?

public

protected

private

默认,定义时不给他访问修饰符就是默认

java中静态成员变量和普通成员变量的区别

成员变量

我们来研究一个事物:

属性:外在特征;例如人的身高,体重

行为:能够做什么;例如人有说话,打球等行为。

而在Java语言中,最基本的单位是类,类就是用来体现事物的。

用类class来描述事物也是如此:

属性:对应类中的成员变量

行为:对应类中的成员函数

定义类其实就是在定义类中的成员(成员变量和成员函数)

拓展:类是一个抽象的概念,而对象就是类的具体的存在,体现。例如:生活中的汽车,可以看做一个类,我们称之为汽车类,每一台车都有颜色和轮胎数(可以定

义为属性,即成员变量),每一台车都可以跑(即车的行为,对应类总的成员函数),我们把汽车实例化一下,即会产生一个对象,比如奔驰、宝马(BMW)。

Demo1:

[java] view plain copy

public class Car {

private String color; // 定义汽车颜色,全局变量

private int numLuntai; // 定义汽车轮胎数,全局变量

public Car(String color, int numLuntai){

super();

this.color = color;

this.numLuntai = numLuntai;

}

public void run() {

System.out.println(this.numLuntai+ "个轮子的" +this.color + "轿车在马路上行驶着");

}

}

[java] view plain copy

public class ClassTest {

public static void main(String[] args){

Car bmw = new Car("黑色", 4); // 创建一个轿车对象,名字为bmw

bmw.run();

}

}

运行结果:

4个轮子的黑色轿车在马路上行驶着

其中color和numLuntai就称为Car 类的成员变量,这个属性能够用来描述一个类的属性,否则,它就应该定义为局部变量。

例如一个for循环中的i即是局部变量。

[java] view plain copy

for(int i = 0; i args.length; i++) {

......

}

又例如写在成员方法中变量是局部变量。

[java] view plain copy

publicclass Car {

private String color; // 定义汽车颜色,全局变量

private int numLuntai; // 定义汽车轮胎数,全局变量

public Car(String color, int numLuntai){

super();

this.color = color;

this.numLuntai = numLuntai;

}

public void run() {

String carName=”宝马牌”; //这个就是局部变量

System.out.println(this.numLuntai+ "个轮子的" +this.color + carName+"轿车在马路上行驶着");

}

}

publicclass ClassTest {

public static void main(String[] args){

Car bmw = new Car("黑色", 4); // 创建一个轿车对象,名字为bmw

bmw.run();

}

}

结果:

4个轮子的黑色宝马牌轿车在马路上行驶着

成员变量和局部变量的区别

成员变量:

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

②成员变量随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆内存中。

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

局部变量:

①局部变量只定义在局部范围内,如:函数内,语句内等,只在所属的区域有效。

②局部变量存在于栈内存中,作用的范围结束,变量空间会自动释放。

③局部变量没有默认初始化值

在使用变量时需要遵循的原则为:就近原则

首先在局部范围找,有就使用;接着在成员位置找。

静态变量

由static修饰的变量称为静态变量,其实质上就是一个全局变量。如果某个内容是被所有对象所共享,那么该内容就应该用静态修饰;没有被静态修饰的内容,其实是属于对象的特殊描述。

示例:

[java] view plain copy

class Person{

//成员变量,实例变量

String name;

//静态变量,类变量

//所有对象共享的属性用static修饰

static String country = "CN";

public void show(){

System. out.println(country + ":" + name);

//等效语句:System.out.println(Person.country+ ":" + this.name);

}

}

class StaticDemo{

public static void main(String[]args){

Personp = new Person();

System. out.println(p.country);

//可以用类名直接调用

System. out.println(Person.country);

}

}

结果:

CN

CN

成员变量和静态变量的区别

1、两个变量的生命周期不同

成员变量随着对象的创建而存在,随着对象被回收而释放。

静态变量随着类的加载而存在,随着类的消失而消失。

2、调用方式不同

成员变量只能被对象调用。

静态变量可以被对象调用,还可以被类名调用。

3、别名不同

成员变量也称为实例变量。

静态变量也称为类变量。

4、数据存储位置不同

成员变量存储在堆内存的对象中,所以也叫对象的特有数据。

静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。

小结:

尽管三者的本质都是变量,可是使用时却有相当大的区别,稍不留神就可能陷入陷阱。且先记住:在一个类中,如果一个变量能够用来描述一个类的属性,那就定义

为成员变量,否则,它就应该定义为局部变量。而如果一个变量在全局中都能使用(某个内容是被所有对象所共享),那么我们就可以把这个变量用static来

修饰,即为静态变量。(还要注意它与静态方法的紧密联系,这里且不细述了)

//我复制别人的,都懒得打字!

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类有哪些成员、java普通成员的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-01,除非注明,否则均为首码项目网原创文章,转载请注明出处。