Java变量、方法与访问权限修饰符

Java变量、方法与访问权限修饰符,第1张

Java变量方法与访问权限修饰符

文章目录
  • 1 变量
  • 2 方法
    • 形参与实参
    • 返回值
  • 3 访问权限修饰符


1 变量
  • 成员变量:定义在类文件里
  • 局部变量:定义在方法体中,只在方法体中起作用
  • 方法体:方法的{}内包含的部分
public class User {
	
	//成员变量
	String name;
	
	void print() {//方法体	
		//局部变量
		int num;
	}

}
2 方法
  • 有参方法:方法名后面的()参数列表中至少一个参数
  • 无参方法:方法名后面的()参数列表中没有参数
	//无参方法
	void study() {	
		System.out.println("study");
	}
	
	//有参方法
	void learn(String subject) {
		System.out.println("learn " + subject);
	}
  • 构造方法(构造器):在对象实例化之后完成对象变量和相关业务逻辑的初始化
    1 方法名与类名一致
    2 没有返回值也没有void
    3 通过new关键字调用
    4 当一个类没有显示的声明构造方法时,java会默认创建一个无参构造方法
    5 构造方法可以重载
public class Father {
	
	public String name;
	public String age;
	//无参构造方法
	public Father() {
		
	}
	//有参构造方法
	public Father(String name, String age) {
		this.name = name;
		this.age = age;
	}
}
形参与实参
  • 形式参数:在声明方法时,在参数列表中定义的参数
  • 实际参数:在调用方法时,给方法传入的参数
public class User {
	
	//有参方法
	void learn(String subject) {//subject是形参
		System.out.println("learn " + subject);
	}
	
	public static void main(String[] args) {
		User u = new User();
		String str = "English";
		u.learn(str);//str是实参
	}

}
返回值
  • void 无返回值关键字:public void run(){}
  • return 返回值关键字:在方法名前面声明要返回的数据类型;在方法体中,通过return关键字指定要返回的具体值。
public class User {
	
	//无返回值
	void learn(String subject) {
		System.out.println("learn " + subject);
	}
	
	//有返回值
	String study(String subject) {
		return "learn " + subject;
	}
	
	public static void main(String[] args) {
		User u = new User();
		
		String str1 = "English";
		u.learn(str1);
		
		String str2 = "Chinese";	
		System.out.println(u.study(str2));
	}

}
3 访问权限修饰符
  • private:只能在本类访问
  • 默认:能被本类或同包下的类访问
  • protected:能被本类或同包下的类访问,也能在不同包的子父类中访问
  • public:权限最大,只要能访问到该类便可访问
//同类

package mypractice;

public class ThreeDemo {
	private int a = 10;
	protected int b = 10;
	int c = 10;
	public int d = 10;
	 
	public void study(){
		a++;
		b++;
		c++;
		d++;
	}
}
//同包不同类

package mypractice;

public class Test {
	public static void main(String[] args) {
		ThreeDemo td = new ThreeDemo();
		int b = td.b; //不能访问td.a
		int c = td.c;
		int d = td.d;
	}
}
//不同包不同类

package homework;

import mypractice.ThreeDemo;

public class TestWork {

	public static void main(String[] args) {
		ThreeDemo td = new ThreeDemo();
		int d = td.d;//仅能访问td.d
	}
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5686324.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存