【Java入门学习学习笔记】——第五天 实例成员与类成员,方法的重载,this关键字,包

Q:实例成员与方法成员的区别?

A:成员包括变量与方法,先说类变量实例变量的区别

类变量:(1)有static关键字修饰(2)可以通过类名直接访问,不需要先创建对象(3)程序编译运行时,会马上给类变量分配内存空间,这也就是为什么创建过多的类变量,编译后会爆内存

实例变量:如果不去创建对象,是不会给实例变量分配内存空间的

区别:

(1)不同对象的实例变量互不相同

(2)所有对象共享类变量

(3)可以通过类名直接访问类变量

共享与独立的关系见下图

下边来说类方法实例方法的区别

类方法:可以通过类名.方法名 或者 变量.方法名访问,只能操作类变量

实例方法:只能通过 变量.方法名 访问 ,可以操作 类变量+实例变量

操作变量的规则见下图

 设计类方法的原则:当一些算法不需要操作成员变量时,就可以考虑将这样的算法写成类方法:

例如 Math.min(a,b),Array.sort(a)等等,可以直接调用这样的方法

Q:说说Java中方法的重载?

A:Java中存在两种多态:重载(Overload)和重写(Override)

重载是两种多态中的一种,具体表现如下:

一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,可以是:

(1)参数的个数不同

(2)参数个数相同,但参数列表中对应的某个参数的类型不同

public class Example01 {
		static int a=1,b=2;
		static long c=5L;
	public static void main(String[] args) {
		System.out.println("a="+a+"  b="+b+"  c="+c);
		System.out.println("a+b="+People.caculate(a, b));
		System.out.println("a-c="+People.caculate(a, c));
		System.out.println("a*b*c="+People.caculate(a, b, (int)c));
	}
}
public class People {//要么参数个数不同,要么参数个数相同但参数类型不同
	 static int caculate(int a,int b) {
			return a+b;
	 }
	 static float caculate(int a,long b) {
		 return a-b;
	 }
	 static float caculate(int a,int b,int c) {
		 return a*b*c;
	 }
}

 

Q:请谈一谈this关键字

A:this是Java的一个关键字,表示某个对象

this可以出现在实例方法和构造方法

this不可以出现在类方法

Q:说一说什么是包

A:包是Java语言有效的管理类的一个机制,不同Java源文件中的类名相同时,他们可以通过所属包名来进行区分

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值