Java——public、private、、protected、无修饰符的友好变量的区别

package tom;

public class tom {//一个Java类中最多一个public类
	public float weight;
	public float f(float a,float b) 
    {
		return a+b;
	}
}
class Jerry{//无public
	float g()
	{
		tom cat=new tom();
		cat.weight=23f;
		float sum=cat.f(2,4);
		return sum;
	}
}
class test {//新建一个主类,用来存放主函数main
	public static void main(String[] args) {
		Jerry t=new Jerry();
	    System.out.println("结果为:"+t.g());
				  
	}

}

public关键词
用public修饰的变量方法和变量成员被称为公有变量和公有方法,public是可应用范围最广的,public类变量和方法可以跨包访问,在全局作用。
调用语法:实例化对象名.变量名 【实例对象/方法】
类名.变量名 【类(静态)对象/方法】

***在任何地方都可以访问成员,可跨包

private关键字
用private修饰的成员变量和方法被称为私有变量(即封装),当一个变量或方法被定义为私有变量,则在别的类中用该类实例化的对象将无法直接访问该成员变量和方法。(在自身所在类的内部,依旧可以访问)
补充:但可以创建一个public类,通过调用public方法来调用这个对象
调用语法:实例化对象名.变量名 【实例对象/方法】
类名.变量名 【类(静态)对象/方法】
此方法调用行不通了!
***不可跨类,仅在自己定义的类内通行

无关键字修饰的友好变量
无关键字修饰的变量和方法被称为友好变量和方法,友好变量可以在同一个包下被访问,可跨类,但不可跨包
调用语法:实例化对象名.变量名 【实例对象/方法】
类名.变量名 【类(静态)对象/方法】
***可跨类,不可跨包

protected关键字
用protected类修饰的变量和方法被称为受保护的成员变量和方法,可以在同一个包下被访问,可跨类,但不可跨包
调用语法:实例化对象名.变量名 【实例对象/方法】
类名.变量名 【类(静态)对象/方法】
***可跨类,不可跨包
注意 :protected在包内的权限是等同于public的,在跨包调用时protected是调用不到的

继承性: 友好变量和私有变量不能被继承,而公共变量和保护变量能被继承

友好变量和protected型的区别:友好变量不能被继承,保护变量可以被继承

权限高低:public>protected>友好变量>private

import 关键字:
导入包和类,导入为到类的全类名
语法:import 包名.类名;
含义:导入##包中的##类
放在包声明的后一句(下面),要放在程序(文件)的最开头部分
***注意:在跨包调用方法和变量时,必须在开头写导入类,否则无法使用该类

package关键字:
声明包
语法:package 包名;
写在.java程序(文件)的最开始,第一句位置,除了默认包不需要声明,其余都必须声明包,在最开始(第一句)的位置。

格式:
package …;
import …;
(程序一开始的位置)


版权声明:本文为m0_47396944原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。