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

来源:互联网 发布:最优化理论与算法pdf 编辑:程序博客网 时间:2024/05/29 02:47


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();

      }

}

 

0 0
原创粉丝点击