公共实例属性和私有实例属性的赋值与调用

package com.__01Study.javase;
 /**
  *公共与私有实例属性的调用与赋值
  */
  
public class JustPlay {
/*
这里是公共实例属性  1,4
 */
#  副本    这里是公共实例属性
    //公共实例属性的调用
    public int num;
    public float floats;
    public char chars;
    public boolean flag;
    //公共实例属性的赋值
    public String str = "abc";//方法一
    public  int a = 99;
    public int num(int num){//方法三
        this.num = num;
        return num;
    }
    publiic JustPlay(){
    }
    public JustPlay(boolean r){
        this.flag = r;
    }
# 主类        这里是公共实例属性
//        JustPlay guess = new JustPlay();//new JustPlay();创建一个对象
//        公共实例属性的调用
//        System.out.println(guess.num);//0
//        System.out.println(guess.floats);//0.0
//        System.out.println(guess.chars);//u0000
//        System.out.println(guess.flag);//false
//        System.out.println(guess.str);//abc
//        System.out.println(guess.a);//99
//        公共实例属性的赋值
//        guess.chars = 'a';//方法二
//        System.out.println(guess.chars);//a
//        guess.num = 1;//不能alt+enter
//        System.out.println(guess.num);//1
//        int num = guess.num(3);//方法三
//        System.out.println(num);//3
//        JustPlay play = new JustPlay(true);
//        System.out.println(play.flag);/         
/*公共实例属性使用总结
    1.在副类赋值可以声明创建并赋值,但不能先声明后赋值
      true: public datatype variableName = var;
      false:public datatype variableName;
            variableName = var;
    2.可以在主类通过对象名.变量名进行赋值
       objectName.variableName = var;
       这种也是默认的赋值方法
    3.也可以制定方法进行赋值
    4.使用有参构造器赋值
    4.对副类公共属性的访问只能在主类通过sout-->对象名.变量名进行输出(不包含通过变量名接受数据)
    5.实例属性属于对象,访问(取值或赋值)必须通过对象来进行
*/

/*
这里是私有属性  1,3
*/
#  副本    这里是私有实例属性
    private short A;//get
    private char B;//get
    private double C;//get
    private boolean D;//is
    private String E;
    //私有属性的调用get / is
    public void getA(){
        System.out.println(this.A);
       // return A;
    }
    public char getB() {
        return B;
    }
    public double getC() {
        return C;
    }
    public boolean isD() {
        return D;
    }
    public String getE(){
        return E;
    }
    //私有属性的赋值
    private boolean isTrue = true;
    public boolean isTrue() {
        return isTrue;
    }
    private int X;
    public int getX() {
        return X;
    }
    public void X(int x) {//方法二
        X = x;
    }
   public JustPlay(int x){
        X = x;
    }
# 主类        这里是私有实例属性
        JustPlay second = new JustPlay();
//      私有属性的调用
        //方法1:先调用方法在sout-->对象名.方法名(基于get/is)
        second.getA();
        //System.out.println(second.getA());//0
        second.getB();
        System.out.println(second.getB());//u0000
        //方法二:可以不调用方法直接sout-->对象名.方法名
        System.out.println(second.getC());//0.0
        System.out.println(second.isD());//false
        System.out.println(second.getE());//null
//      私有方法的赋值
        second.X(8848);
        System.out.println(second.getX());//8848
       JustPlay ace= new JustPlay(4);
       System.out.println(ace.X);
/*公共实例属性使用总结
​    1.在副类赋值可以声明创建并赋值,但不能先声明后赋值
​      true: datatype variableName = var;
​      false:datatype variableName;
​            variableName = var;
​    2.只有在副类使用get/is创建方法才能从主类调用私有变量
​      对副类私有属性的访问只可以在主类通过sout-->对象名.变量名
​      进行输出,也可以先调用方法在sout进行输出
​    3.对于私有属性我们一般习惯于使用set创建方法从主类接收数据
​      赋值,也可以不使用set
​    4.无论是对私有方法的调用还是赋值本质上都是通过转化为公共方法
​      实现的
*/



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
下面是完整的Python代码: ```python class Person: def __init__(self, name, age, sex): self.__name = name self.__age = age self.__sex = sex def setName(self, name): self.__name = name def setAge(self, age): self.__age = age def setSex(self, sex): self.__sex = sex def show(self): print("Name:", self.__name) print("Age:", self.__age) print("Sex:", self.__sex) class Employee(Person): def __init__(self, name, age, sex, salary): super().__init__(name, age, sex) self.salary = salary def setSalary(self, salary): self.salary = salary def show(self): super().show() print("Salary:", self.salary) # 测试代码 employee = Employee('Tom', 30, 'Male', 5000) employee.show() ``` 在上面的代码中,我们首先定义了一个基类 `Person`,它包含了三个私有实例属性 `__name`、`__age` 和 `__sex`,以及四个实例方法 `setName()`、`setAge()`、`setSex()` 和 `show()`,用于设置和输出实例属性的值。然后,我们定义了一个派生类 `Employee`,它继承了 `Person` 类,并新增了一个实例属性 `salary` 和一个实例方法 `setSalary()`,用于设置实例属性的值。重写了基类的实例方法 `show()`,用于输出所有实例属性的值。在 `Employee` 类的 `__init__()` 构造方法中,我们通过调用父类的构造方法 `super().__init__(name, age, sex)` 来初始化基类的属性 `name`、`age` 和 `sex`,然后再初始化派生类的属性 `salary`。最后,我们编写了一些测试代码,用于测试 `Employee` 类的各种方法是否能正常运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值