「java访问成员」Java访问

博主:adminadmin 2022-11-23 15:28:14 55

今天给各位分享java访问成员的知识,其中也会对Java访问进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

深入理解Java中为什么内部类可以访问外部类的成员

一般来说,外部类调用内部类的方法分为以下几种情况:

1.使用static可以声明一个内部类, 可以直接在外部调用

// 定义外部类

class Outer

{

// 定义外部类的私有属性

private static String info = "hello world";

// 使用static定义内部类

static class Inner

{

// 定义内部类的方法

public void print()

{

// 直接访问外部类的私有属性

System.out.println(info);

}

}

// 定义外部类的方法

public void fun()

{

// 通过内部类的实例化对象调用方法

new Inner().print();

}

}

public class InnerClassDemo03

{

public static void main(String args[])

{

// 通过Outer.Inner创建内部类的实例,并调用它的print方法

new Outer.Inner().print() ;

}

}

2.不使用statc声明一个内部类 ,使外部调用

//定义外部类

class Outer

{

//定义外部类的私有属性

private String info = "hello world";

//定义内部类

class Inner

{

//定义内部类的方法

public void print()

{

//直接访问外部类的私有属性

System.out.println(info);

}

};

//定义外部类的方法

public void fun()

{

//通过内部类的实例化对象调用方法

new Inner().print();

}

};

public class InnerClassDemo04

{

public static void main(String args[])

{

//外部类实例化对象

Outer out = new Outer();

//实例化内部类对象

Outer.Inner in = out.new Inner();

//调用内部类的方法

in.print();

}

}

3.在方法中定义内部类 ,使外部调用

//定义外部类

class Outer

{

//定义外部类的私有属性

private String info = "hello world";

//定义外部类的方法

public void fun(final int temp)

{

//在方法中定义的内部类

class Inner

{

//定义内部类的方法

public void print()

{

//直接访问外部类的私有属性

System.out.println("类中的属性:" + info);

System.out.println("方法中的参数:" + temp);

}

}

//通过内部类的实例化对象调用方法

new Inner().print();

}

}

public class InnerClassDemo05

{

public static void main(String args[]){

//调用外部类的方法

new Outer().fun(30);

}

}

java如何访问类的成员变量和方法?

成员变量和方法分为静态和实例变量和方法

例如定义一个类:

class

Text

{

public

static

int

number;

public

int

temp;

public

static

void

method(){}

public

void

method2(){}

}

如果你想访问temp属性,你就必须先创建一个Text的对象,才能访问:Text

b

=

new

Text();

b.temp;这就是实例成员变量。实例变量也是一样

而你想

访问number的话,不用创建Text的实例就可以访问,就像这样:Text.number.这就是类成员变量。实例方法也是一样

主要区别就是访问是需不需要创建对象,而对于类成员变量,所有对象是共享一个变量的。

java子类中如何访问和修改父类成员

根据父类成员的访问权限修饰词分为两种情况:

①父类成员域由private修饰,那么在子类中不能直接访问父类成员域,但是可以通过父类中的公共方法访问以及修改父类成员域。如:

class FatherClass{

    private int a;

    public int geta(){ return a;}

    public void seta(int a){this.a=a;}

}

则在子类中可以通过geta获得父类的成员域的值,通过seta修改父类成员域的值

②父类成员由public或protected或default(不写访问权限修饰词),在子类中可以直接访问父类成员域,可以修改继承的父类成员域,但是不能直接修改父类本身的成员域(可以通过上面所说的public void seta(int a){this.a=a;}对父类本身的成员域进行修改),以下是示例代码:

运行结果:

父类本身的a与子类从父类继承的a占据两个不同的独立的存储空间,在继承之后,他们的值互不相干(继承的时候进行值传递),这样可以避免因为子类中的操作而导致对父类的a的值进行预期结果之外的修改

Java中一个类如何访问另一个类中的成员变量问题

如果成员变量是静态的,那么直接在A类中通过“B.变量名称”的形式即可。

如果成员变量是动态的,需要在B类中创建变量的set和get方法,之后在A类中:

B b =new B();进行B类实例化

b.setName("zhangsan");//赋值

b.getName();获取到成员变量值。

java访问成员的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Java访问、java访问成员的信息别忘了在本站进行查找喔。

The End

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