修饰符所修饰的范围以及构造方法的创建

    域修饰符(访问控制符):控制变量和方法的访问范围
  public(公开的、公共的):本类、本包、不同包的子孙类、不同包
  protected(受保护的):本类、本包、不同包的子孙类
  不加修饰符:本类、本包
  private:本类
  1.访问控制符修饰方法和修饰变量作用一样
  2.希望你的变量和方法在任何地方使用就用public修饰
     希望出了包无法用就不加修饰符
     如果希望子类可以使用就用protected修饰
     如果只想让在本类中使用,出了类不让别人使用就用private修饰
     
    重写方法时,子类中的访问范围不能比父类小
     例如 父类中该方法被protected修饰,子类重写访问控制符只能是protected或者pubilc
     
     子类只能继承public和protected,如果在同包下不加修饰符也可以                

public class Third {
		public static void main(String[] args) {
			//测试同一个包下
	People people = new People();
	people.age = 100;
	people.height = 182;
	people.name = "杨二";
	//private修饰的出了类无法使用
	
	Girl girl = new Girl();
	 //为name赋值
	
	girl.setName("张三");
	//直接打印对象时,本质上是调用了toString()方法,
	String name =  girl.getName();
	System.out.println(name);
	System.out.println(people.name);
	
		}
		
}

一般情况下,成员变量都需要用private修饰;都需要是私有的
     

 private String name;
 private int age;
 private String sex; 

提供公开的setter方法用来为私有的成员变量赋值。
        getter方法用来获取私有的成员变量变量值。

通过访问控制符,让外部都用setter和getter方法来访问成员变量,我么可以控制外部对该成员变量的访问权限
            例如: 只让使用不让更改我们只提供getter方法不提供setter方法

                       成员变量私有化,通过get set方法访问,更加安全
                        set命名方法一般都是set后面拼接成员变量名  例如setName

        

public void setName(String name) {
			//当局部变量和成员变量名一样时,默认为就近原则
			System.out.println(name);//打印局部变量值
			//可以通过this来区分同名变量 this.变量 肯定调用成员变量
			this.name = name;
			
		}
		public String getName(){
			//由于并没有一个局部变量和成员变量所有this.name 和name 都是成员变量
			return name;
		}

构造方法:在创建对象时,对对象进行初始化
         构造方法使用在创建对象时

 形式
 [访问控制符] 类名 ([形参列表]){
    
       }
 1.没有返回值类型、方法名只能是所在类的类名
 2.当我们没有定义构造方法时,会有一个默认的无参数的构造方法
         一旦我们定义了构造方法,就不再提供默认的构造方法
3.一个类中可以有多个构造方法(构造方法可以重载)
      构造方法不能被重写,因为构造方法的方法名必须和当前类一致,
     重写是要求方法名和父类中对应的方法名一致
 4.我们可以在构造方法中通过this([实参列表])调用本类中其他的构造方法,但只能在第一行调用
 在成员方法中不能通过this([实参列表])这种方式调用构造方法,需要调用时只能是new 构造方法(...)

5.子类的构造方法中肯定会调用父类的构造方法
      如果没有显式调用,默认在子类构造方法第一行,调用父类中无参的构造方法
 6.如果父类中没有无参数的构造方法,那么我们就必须在子类的构造方法第一行,显式调用父类的某一构造方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值