在Java中,我们经常看到public、protected、private这些修饰符。在Java中,这些修饰符可以用来限定访问作用域.
public
定义为public的class、interface可以被其他任何类访问
private
定义为private的field、method无法被其他类访问
protected
protected作用于继承关系。定义为protected的字段和方法可以被子类访问,以及子类的子类
方法
一个class可以包含多个变量和方法,方法可以定义为public,private,protected .变量也可以定义初值
class Person{ //定义Person类
private String name; //定义私有属性
private int age;
public void setName(String _name){this.name=_name;}//定义共有方法
public void setAge(int _age){this.age=_age;}
public String getName(){return this.name;}
public int getAge(){return this.age;}
}
public class Hello{
public static void main(String[] arg0){
Person person=new Person();//实例化一个对象
person.setName("sikui");
person.setAge(25);
System.out.println(person.getName());
System.out.println(person.getAge());
}
}
构造方法
1.构造方法的名称就是类名。构造方法的参数没有限制
2.构造方法,分为默认构造方法和自定义构造方法
3.当我们没有定义构造方法时,系统会默认有个无参数的构造方法
4.当我们定义了构造方法时,,编译器就不再自动创建默认构造方法
5.如果既要能使用带参数的构造方法,又想保留不带参数的构造方法,那么只能把两个构造方法都定义出来
public class OP {
private String name="ss";
private int age=200;
public OP(){
System.out.println("我是默认构造");
}
public OP(String _name,int _age){
System.out.println("我是自定义构造");
this.name=_name;
this.age=_age;
}
public String getName(){
return name;
}
public int getAge(){
return age;
}
}
//main中调用
public static void main(String[] arg0){
OP op1=new OP();
System.out.println(op1.getName());
System.out.println(op1.getAge());
OP op=new OP("sikui",100);
System.out.println(op.getName());
System.out.println(op.getAge());
}
输出:
ss
200
我是自定义构造
sikui
100
方法重载
在一个类中,我们可以定义多个方法。如果有一系列方法,它们的功能都是类似的,只有参数有所不同,那么,可以把这一组方法名做成同名方法。(方法名相同,参数不同)
class Hell{
public void hello(){
System.out.println("我是hello");
}
public void hello(int _a){
System.out.println("我是hello"+_a);
}
public void hello(String name,int _a){
System.out.println(name+_a);
}
}