面向对象--get/set的调用(课堂)



package com.qianfeng.day08.demo3;

 

//没学getset之前,我们都是用对象去调用,就是对象名.属性。

//如果是static(静态)修饰的属性,我们就直接用方法名.属性

 

//javaBean ( 1、属性  2get/set 3、构造方法)

public class Student {

      privateString name;

      privateint classNum;

      privateint sno;

      privateboolean sex;

      publicStudent(){

      }

      //使用 public修饰

      //set + 属性名(第一个字母大写)

      publicvoid setName(String name){

             this.name = name;

      }

      //get + 属性名(第一个字母大写)

      publicString getName(){

             return this.name;

      }

      

      //shift+ alt + s    + r

      publicint getClassNum() {

             return classNum;

      }

 

      publicvoid setClassNum(int classNum) {

             this.classNum = classNum;

      }

 

      publicint getSno() {

             return sno;

      }

 

      publicvoid setSno(int sno) {

             this.sno = sno;

      }

 

      //boolean类型使用 is +属性名(第一个字母大写)

      publicboolean isSex() {

             return sex;

      }

 

      publicvoid setSex(boolean sex) {

             this.sex = sex;

      }

}

//没学getset之前,我们都是用对象去调用,就是对象名.属性。

//如果是static(静态)修饰的属性,我们就直接用方法名.属性

 

 

 

 

 

package com.qianfeng.day08.demo3;

 

 

/*

 * private                    私人

 *        1、使用private修饰的方法,属性在其他类中不能访问 对象名.私有方法/属性会错

 *               错误:The field Person.privateName isnot visible

 *        2、使用private修饰的方法,属性可以,也只能在本类中使用

 *        运用场景:

 *               属性:javaBean的使用 建议:对象的属性都使用private进行修饰,然后提供get/set

 *               方法:辅助方法的时候

 * public                    公共的

 *        1、使用public修饰方法/属性/(外部类)在所类中都可以进行访问

 *        运用场景:

 *               类需要给外界提供功能支持的时候使用(工具类)

 *

 *defaultfriendly)【什么都不写的】

 *         1修饰方法/属性/(外部)在本类可以访问

 *         2在同包下可以访问

 *         3在不同包下是不能进行访问

 *         运用场景:

 *                几乎不使用

 *

 *protected  ---涉及继承

 *         1修饰方法/属性在本类可以访问

 *         2在同包下可以访问

 *         3在不同包下是不能进行访问(如果是子父类关系,可以访问)

 *         运用场景:

 *                一般涉及到继承的时候使用这个

 *

 */

 

public class Person {

      

      //内部类可以使用所有访问权限修饰符

      /*protected/private/public/default   class Person3{

            

      }*/

      

      privateString privateName;  //私有成员属性

      

      privatevoid privateMethod(){

             System.out.println(this.privateName);

      }

      

      StringdefaultName;

      voiddefaultMethod(){

             System.out.println("Person.defaultMethod()");

      }

      

      protectedString protectedName;

      protectedvoid protectedMethod(){

             System.out.println("Person.protectedMethod()");

      }

      

      

      publicstatic void main(String[] args) {

             System.out.println("-----------private--------------------------");

             Person person = new Person();

             System.out.println(person.privateName); //本类中使用不报错

             person.privateMethod();

                          

             Student student  = new Student();

             student.setName("");

             student.getName();

            

            

             System.out.println("-----------default--------------------------");

             Person person2 = new Person();

             System.out.println(person2.defaultName);

             person2.defaultMethod();

            

             System.out.println("-----------protected--------------------------");

             Person person3 = new Person();

             System.out.println(person3.protectedName);

             person3.protectedMethod();

            

      }

 

}

 

 

 

package com.qianfeng.day08.demo3;

 

public class DefaultTest {

      publicstatic void main(String[] args) {

            

             Person person = new Person();

             System.out.println(person.defaultName);

             person.defaultMethod();

            

      }

}

 

 

 

package com.qianfeng.day08.demo3;

 

public class ProtectedTest {

      publicstatic void main(String[] args) {

             Person person = new Person();

             System.out.println(person.defaultName);

             person.defaultMethod();

      }

}

 

 

 

package com.qianfeng.day08.demo3;

 

public class TestPrivate {

      publicstatic void main(String[] args) {

             Person person = new Person();

            

             //The field Person.privateName is notvisible

             //System.out.println(person.privateName);

            

             //The method privateMethod() from thetype Person is not visible

             //person.privateMethod();

            

            

      }

}

 

 

 

 

package com.qianfeng.day08.demo3.sun;

 

import com.qianfeng.day08.demo3.Person;

 

public class DefaultTest2 {

      publicstatic void main(String[] args) {

             Person person = new Person();

             //The field Person.defaultName is notvisible

             //System.out.println(person.defaultName);

             //person.defaultMethod();

      }

}

 

 

package com.qianfeng.day08.demo3.sun;

 

import com.qianfeng.day08.demo3.Person;

 

public class ProtectedTest2 {

      publicstatic void main(String[] args) {

             Person person = new Person();

            

             //The field Person.defaultName is notvisible

             //System.out.println(person.defaultName);

             //person.defaultMethod();

      }

}

 

你可能感兴趣的:(面向对象,面向对象--getset的调用,GetSet方法)