当前位置:首页 » 编程语言 » java如何被调用

java如何被调用

发布时间: 2022-12-09 04:12:21

java 内部类如何被外部类调用

首先,你要搞清楚静态方法跟非静态方法的区别:

非静态方法是跟随着类的生命周期的,当类实例化时,非静态方法跟随着实例化对象产生,实例化对象可以调用类中的非静态方法,当实例化对象结束时,非静态方法也跟着结束。就是说,非静态方法是依附于实例化对象的,它的生命周期就是实例化对象的生命周期。

静态方法是不受制于类的实例化对象的,即静态方法从程序开始运行到最后释放内存结束是一直存在的,它的生命周期就是程序的生命周期。

从以上可知,静态方法调用非静态方法会造成一个问题,就是生命周期的不一致,比如说:程序刚刚开始运行时,类的实例化构造函数还没有执行,这时静态方法是调用不了非静态方法的;或者当实例化对象消亡之后,静态方法也是不能够去调用非静态方法的。

静态方法要想调用非静态方法,必须要通过实例化对象去调用;当然也可以把非静态方法变成静态方法,这样就不存在任何障碍了。

希望我的回答对你能够有所帮助。

Ⅱ java怎么调用方法

抽象类: 动物 有方法 cry();
具体类1: 猫 extends 动物 实现方法cry()
具体类2: 狗 extends 动物 实现方法cry()

动物 dog = new 狗();
动物 cat = new 猫();

cat.cry();//结果是喵喵~ 叫
dog.cry();//结虹是旺旺~ 叫

由于dog是new 出来的是狗 而cat是new出来的猫,所以虽然大家都属于动物,但其实不是同一种动物。 并且想让狗学猫叫,猫学狗叫是不可能的

动物 dog=new 狗(); 其实相当于理解成以下两条语句
1。狗 dg = new 狗();
2。动物 dog=(动物)dg;//将dg的狗类型转化成了动物类型

所以调用时当然只会调用狗的方法旺旺旺,而不会去调用其它动物的方法!

所以问题的关键在于生成时是 new 狗还是new 猫! 因为动物是不能被new出来的(抽象类不能实例化)所以我们就能分出执行的是哪个方法;
请参考

Ⅲ java中的两个类怎么调用

Java要互相调用类,可以举个简单的例子,用公司类和职员类来说。用了中文的变量:

publicClass职员类
{
String职员姓名;
int年龄;
公司类所在公司;
}

publicClass公司类
{
String公司名;
List<职员类>旗下员工;//把员工类的员工作为集合存入当前类的对象
publicvoid招聘员工(职员类招聘对象)
{
旗下员工.add(招聘对象);
招聘对象.所在公司=this;
}
}

//这样这两个类的对象就会互相渗透,

在实例化的时候:

公司类 ms=new 公司类();

职员类 bill=new 职员类();

ms.公司名="微软";

bill.职员姓名="比尔盖茨";

bill.年龄=50;

ms.招聘员工(bill);

System.out.println(bill.所属公司.公司名);

System.out.println(ms.旗下员工[0].职员姓名);


//会打印出来微软和比尔盖茨。

Ⅳ java中的方法都有哪些,什么时候被调用,怎么调用他们 这些我都分不清楚,老是记不住,调用的时候

方法根据需要来建立,
//方法1
public void system{
//在这里编写方法

//方法根据具体的需求来写,比如
System.out.println("这个就是方法");

}
调用:
方法可以互相调用,比如
//方法2
public void sc{
System.out.println("下面这句话是上一个方法中的");

//调用方法1

system();

}
"system();"就表示在方法2里面调用了方法1
至于什么时候用也看需求,

Ⅳ java中方法调用时的写法

如果是非静态的方法1调用非静态的方法2,那么
非静态方法2所在类的实例引用.非静态方法2

public class Test{
public void getMethod(){
Test t=new Test();
t.getTwoMethod();
}
public void getTwoMethod(){
}

}

如果静态调用静态:
public class Test{
public static void main(String[]args){

Hello();
}
public void Hello(){
System.out.println("HELLOWORLD")
}

}

如果是继承的话:
public class a{
public void jj(){}
}
public class b extends a {
public void hh(){
super.jj();
}
}

Ⅵ java中方法之间是如何调用的

1.与其他语言不同,Java语言不允许编程人员选择采用值传递还是引用传递来传递参数。基本数据类型总是采用值传递。不能把对象传递给方法,而只能传递对象的引用。引用本身也是采用值传递将引用的拷贝传递给方法。当方法收到对象的应用后,他就可以直接操作这个对象。


2.当通过return语句从方法返回信息时,基本数据类型的变量总是以值的形式返回(即返回拷贝),而对象总是以应用的方式返回。


方法调用过程:


1.为调用方法的内存中开辟空间。


2.将实参传递给形参。


3.程序流程跳转到方法里,并执行方法。


4.执行完方法,程序流程跳转到main方法,带回返回值如果有的话,为方法开辟的空间被销毁。

列如:

publicclassTest{
publicstaticvoidmain(Stringargs[]){
inta=10,b=20;
Stringstr1="abc";
Stringstr2="def";
swap(a,b);
swap(str1,str2);
System.out.println(a+"/t"+b);
System.out.println(str1+"/t"+str2);
}

publicstaticvoidswap(inta,intb){
inttemp=a;
a=b;
b=temp;
}

publicstaticvoidswap(Stringstr1,Stringstr2){
Stringtemp=str1;
str1=str2;
str2=temp;
}
}

结果:


1020
abcdef


注意结果中整型和字符串都没有交换。

Ⅶ java中如何调用类

import java.util.
class Person{
// 创建Persion类
String name ; // 表示姓名
int age ;
public Person(String name,int age){
this.name=name;
this.age =age;

} // 表示年龄
public void tell(){
System.out.println("姓名:" + name + ";年龄:" + age) ;
}
};
public class test{
public static void main(String args[]){
Person per = new Person("zhang san",3) ;//实例化类
per.tell();//只有调用实例类的成员
}
};

-----------------------------------------------------------
打印结果 姓名:zhang san 年龄:3

Ⅷ java中如何调用私有变量或方法

private关键字
(1)私有的意义,可以修饰成员变量和成员方法
(2)特点:
被private修饰的后的成员只能在本类中被访问
(3)private的应用:
以后再写一个类的时候:
把所有的成员变量给private了
提供对应的getXxx()/setXxx()方法
/*
封装和private的应用:
A:把成员变量用private修饰
B:提高对应的getXxx()和setXxx()方法
*/
//定义学生类
class Student {
//姓名
private String name;
//年龄
private int age;
//姓名获取值
public String getName() {
return name;
}
//姓名设置值
public void setName(String n) {
name = n;
}
//年龄获取值
public int getAge() {
return age;
}
//年龄赋值
public void setAge(int a) {
age = a;
}
}
//测试类
class StudentTest {
public static void main(String[] args) {
//创建学生对象
Student s = new Student();
//使用成员变量
//错误:被私有修饰了,外界不能直接访问了
//System.out.println(s.name+"---"+s.age);
System.out.println(s.getName()+"---"+s.getAge());
//给成员变量赋值
//s.name = "林青霞";
//s.age = 27;
//通过方法给赋值
s.setName("林青霞");
s.setAge(27);
System.out.println(s.getName()+"---"+s.getAge());
}
}

热点内容
go语言编译模式 发布:2025-01-20 19:57:25 浏览:405
超能编程 发布:2025-01-20 19:56:26 浏览:1000
安卓手机怎么连蓝牙汽车 发布:2025-01-20 19:39:05 浏览:253
保定军工存储厂家 发布:2025-01-20 19:38:53 浏览:795
云服务器ecs服务条款 发布:2025-01-20 19:19:36 浏览:47
安卓系统显示屏怎么设置屏保 发布:2025-01-20 19:18:53 浏览:896
有锁机和配置锁哪个好 发布:2025-01-20 19:18:05 浏览:767
安卓版软件如何设置 发布:2025-01-20 18:58:53 浏览:58
java中级项目案例 发布:2025-01-20 18:58:52 浏览:913
sql日志查看工具 发布:2025-01-20 18:57:12 浏览:243