java-实例方法 静态方法 实例变量 静态变量之间的关系问题

问题描述

实例方法 静态方法 实例变量 静态变量之间的关系问题

java中实例方法 静态方法 实例变量 静态变量之间的关系问题

静态变量可以方法静态方法
实例变量可以访问静态方法
实例变量可以访问实例方法
以上说法对么

解决方案

不都是对的

这个主要是考静态变量/方法,与一般变量/方法的概念:
声明为static的方法有以下几条限制: ·
A,它们仅能调用其他的static 方法
B,它们只能访问static数据
C,它们不能以任何方式引用this 或super(this涉及到对象,super 与继承有关)

解决方案二:

子类与父类实例变量,静态方法调用
java 静态变量与方法实例变量与方法的内存占用

解决方案三:

子类与父类实例变量,静态方法调用
java 静态变量与方法实例变量与方法的内存占用

解决方案四:

静态方法 和 静态变量 是可以直接访问,不需要创建这个类的一个对象,如下,在TestB中可以直接使用TestA中的i和 方法 add();
public class TestA{
public static int i = 1;
public int b = 0;
public static int add(int a, inb){
return a+b;
}
public void setB(int b){
this.b = b;
}
}
public class TestB{
int a = TestA.add(TestA.i, TestA.i);
system.out.println("a==="+a); //a = 2
}

而实例变量和方法 则需要 先创建一个对象

如:
TestA A= new TestA();
A.set(2);
int s = A.b;

时间: 2024-12-31 23:54:11

java-实例方法 静态方法 实例变量 静态变量之间的关系问题的相关文章

java非静态方法可以调用静态变量吗?

问题描述 java非静态方法可以调用静态变量吗? 初学java,看到书上的编纂,可能出现了错误. 第二版(中文版)284页中原话: 问:非静态的方法可以存取静态的变量吗? 回答:当然可以.非静态方法不可以调用该类静态的方法或静态的变量. 实在是头大,网上查询都说非静态方法可以调用静态的方法和变量.但我自己试了一下 class Duck{ private int size; static int duckCount=0; public Duck(){ duckCount++; } } public

java中变量和对象之间的关系问题

问题描述 java中变量和对象之间的关系问题 java中变量和对象之间的关系问题 是对象属于变量,还是变量属于对象 它们是充要的还是充分不必要还是必要不充分的 我不是上面的数学逻辑属于适合不适合描述对象和变量之间的关系 解决方案 一般来说,变量类型会叫基本类型,比如Integer等,还有就是对象变量,就是引用对象的变量. 对象中可以定义变量.

关于java,类的定义以及类之间的关系

问题描述 关于java,类的定义以及类之间的关系 一个公司需要开发一个能够计算雷达屏幕上两点之间距离的应用程序,将它用于空中交通控制应用的一部分 解决方案 在java中类和类之间的关系基本上有依赖.关联.聚合.组合等 一.继承关系 继承指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父接口)的功能,并可以增加它自己的新功能的能力.在Java中继承关系通过关键字extends明确标识,在设计时一般没有争议性.在UML类图设计中,继承用一条带空心三角箭头的实线表示,从子类指向父类,或者子

创建Oracle数据库、数据库名与实例名与SID之间的关系(图文详解)

目录 目录 软件环境 前言 安装Oracle监听程序 启动停止监听程序 创建数据库 数据库名db_name 数据库实例名instance_name 数据库名与实例名的关系 操作系统环境变量ORACLE_SID 软件环境 操作系统 RHEL 6.1 软件环境 Oracle10gr2 前言 在上一篇RHEL6.1 安装 Oracle10gr2 (图文.解析)中记录了如何成功的在RHEL6.1安装Oracle10gr2,但是在安装的过程中没有创建数据库,本篇主要记录了如果创建数据库和监听程序. 安装O

Java静态变量 实例变量 静态方法详解

首先语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加. 在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量.静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了.总之,实例变量必须创建对象后才可以通过这个对象来使用  代码如下 复制代码 package staticVar;    public class s

JNI/NDK开发指南(七)——C/C++访问Java实例变量和静态变量

       转载请注明出处:http://blog.csdn.net/xyang81/article/details/42836783        在上一章中我们学习到了如何在本地代码中访问任意Java类中的静态方法和实例方法,本章我们也通过一个示例来学习Java中的实例变量和静态变量,在本地代码中如何来访问和修改.静态变量也称为类变量(属性),在所有实例对象中共享同一份数据,可以直接通过[类名.变量名]来访问.实例变量也称为成员变量(属性),每个实例都拥有一份实例变量数据的拷贝,它们之间修

Java 中的 static 使用之静态变量·静态方法·静态初始化块

Java 中的 static 使用之静态变量 大家都知道,我们可以基于一个类创建多个该类的对象,每个对象都拥有自己的成员,互相独立.然而在某些时候,我们更希望该类所有的对象共享同一个成员.此时就是 static 大显身手的时候了!! Java 中被 static 修饰的成员称为静态成员或类成员.它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享.静态成员可以使用类名直接访问,也可以使用对象名进行访问.当然,鉴于他作用的特殊性更推荐用类名访问~~ 使用 static 可以修饰变量.方法和

java 中类的静态方法怎么调用成员变量

问题描述 java 中类的静态方法怎么调用成员变量 除了把成员加static修饰 还有别的办法吗 总是在这纠结啦 能说说他们的原理吗 谢谢啦! 解决方案 static是类级别方法 也就是可以 类名.方法调用不加static是实例级别的 也就是必须 先有实例(对象) 才能调用其方法如new A().test()除了把成员加static修饰 还有别的办法吗 可以new个对象再调用解决方案二:static修饰的在加载时是先于非静态的加载,也就是如果在static中如果调用了非静态的方法或变量会报错,因

java中静态变量的生存周期或范围

问题描述 java中静态变量的生存周期或范围 在一个类里main方法中实现多个实例,会共享静态变量并可修改静态变量,但是在另一个类里main方法中再实现前面那个类的实例,静态变量又回到初始值了- 解决方案 变量就是变量的,它不可能保存起来共两个main共享的:其实两个main的话,你一个一个的执行,程序也是从上执行到下的,你顺着这个顺序看看你的程序你就 明白了,这个和静态变量是没有什么关系的:你在两个main里实现的实例是两个不同的对象这点你记清楚: 如果回答对你有帮助,请采纳 解决方案二: 这