【java】学习路线5-public和private、构造方法、this关键字、封装对象、static关键字、main方法结构解析
Posted on 2022-03-10 00:30 罗芭Remoo 阅读(72) 评论(0) 编辑 收藏 举报//一个教务管理系统
//知识点清单
/*
public & private 的区别
一个是公开的,一个是私有的,作用域不一样,访问的权限不一样咯
如果是用private修饰,则调用者只可以是在当前的作用域,一个类里边的。
private的其中一个作用
修饰一个类中的变量,为了规则输入,可额外设计一个public公开的方法改变数值,附加校验的功能
*/
/*
构造方法(构造器)
例如这条语句 : Student std = new Student();
Student();虽然你没有定义这个方法,但是系统帮你提供了,你也可以自己弄
你还可以构造多个构造方法,区别在于参数不同
*/
/*
this关键字 在类中使用
相当于把class根层作为出发点去寻找变量
作用1
比如在类中有一个a的变量,类中的方法中也有一个a的变量,在该方法中使用方法外面的变量则this.a即可。
作用2
代表当前的对象
*/
/*
对象属性私有化
将对象使用private修饰,如果需要访问,只需构造一个方法return即可.
public String getName(){
return name;
}
这样相当于“只读”。相当于《封装》。
*/
/*
static关键字
修饰成员变量,成员方法。
好处是:节约内存,一般是高频使用的不需要修改的常量,类似于const
栈 堆 方法区(含有静态区)
静态变量:存储在静态区,只要是用到了这个类,则不同对象都是调用同一个内存区域。
即使你没有创建这个类的对象,你也可以直接访问到这个类的静态变量和静态方法
静态方法:因为也是存储在静态区里的,只有一份,所以静态方法是不能访问非静态变量的
main就是静态方法
*/
/*
main的静态方法通过java命令传递参数
DOS:java Learn04 第一个参数 第二个参数 ...
则存储在args中
*/
public class Learn04 {
public static void main(String[] args){
Student std = new Student();
//Student std = new Student("张杰",19,"929252",'男');
//std.show();
for (String ss : args){
System.out.println(ss);
}
}
}
class Student{
public static String static_country;
String name;
int age;
String id;
char gender;
public Student(){
System.out.println("没有参数的构造方法被调用了!");
}
public Student(String n,int a ,String i,char g){
name = n;
age = a ;
id = i;
gender = g;
System.out.println("有参数的构造方法被调用了!");
}
public void show(){
System.out.println(name + "\n" + age + "\n" + id + "\n" + gender + "\n" );
}
}