Java学习记录——DAY1

Q:当一个Java文件中存在两个类,如何在一个类中调用另一个类的成员方法?(例:在B类中调用A类的成员方法)

A:1、若A类中的成员方法非静态(即没有static),则在B类中创建A类的一个对象就可以调用A类中的成员方法。语法为:对象名.方法名

举例说明:

public class Car{  //B类
	public static void main(String[] args){
		Station station = new Station();//在B类中创建一个A类对象
		int leftOil = 10;
		System.out.println("原有油量为10L。");
		for(int i = 1;i<6;i++){
			System.out.println("第"+i+"次加油之后,现有油量为:"+station.refuel(leftOil)+"L。");
			leftOil = station.refuel(leftOil); //在B类中调用A类的成员方法refuel
		}
	}
}
class Station{ //A类
	public int refuel(int oil){
		oil = oil+2;
		return oil;
	}
}

拓展:

2、若A类中的成员方法为静态(即有static)

  • 调用其他类文件的成员方法或自身类文件中其他类中定义的成员方法。语法为:类名.方法名。
    public class A{
        public static void function(long primarylength){
            primarylength += 20;
        }
    }
    public class B{
        public static void main(String[] args){
            System.out.println(A.primarylength);
        }
    }

  • 调用自身类文件中外层类(父类)中定义的成员方法。语法为:方法名(无需使用类名或对象名调用)。

 总结:

  • 如果类中的方法是私有的(private)则不能被调用,即便是该类的子类也不行。(PS:父类中私有的成员变量和成员方法,虽然可以被子类继承,但是子类继承之后该变量和方法会被隐藏,导致子类无法使用父类中私有的成员变量和成员方法。)
  • 如果子类调用父类中的非私有方法,则可以用方法名直接调用。
  • 如果该方法是静态的(有static),则其他类调用时不需要实例化,直接用类名.方法名就可以直接调用。(例如:Math.random())
  • 如果该方法不是静态的(没有static),则其他类调用时需先实例化,然后用对象名.方法名调用。(大部分情况下都是这样用的。)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值