ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

面向对象3:static静态&包和导包&访问权限&getter和setter

2021-11-12 18:34:12  阅读:137  来源: 互联网

标签:String Student2 age 访问 getter static 包和导 public name


static静态

静态的内容在内存中是保留一份的,并且各个对象之间进行共享

推荐使用类名访问静态的内容

特点:

  1. 数据共享
  2. 属于类的,并不属于对象
  3. 优先于对象产生的
package JAVA面向对象;

public class Student2 {
    String name;
    int age;
    static String banji;//static,它是共享的
    public Student2(String name,int age,String banji){
        this.name=name;
        this.age =age;
        this.banji =banji;
    }
    public void xinxi(){
        System.out.println("叫"+name+"的那个学生今年"+age+"岁,就读于"+banji);
    }
    public static void main(String[] args) {
        Student2 a = new Student2("张三",19,"高二三班");
        Student2 b = new Student2("李四",18,"高二四班");
//后来分班,张三和李四分在同一班级即高二一班
        Student2.banji="高二一班";//用类名访问静态的内容
        a.xinxi();
        b.xinxi();
    }
}

包和导包

包:其实本质上就是文件夹

t在代码中需要 写package包名

例如:

​ 给tieba.baidu.com创建包,包名为:com.baidu.tieba,相当于三层文件夹

导包(Alt+Enter):import包+类;

不需要导包的情况:

  1. 在自己包的情况下
  2. java.lang包下的所有内容都不需要导包

访问权限

  1. public:公共的,所有人都可以访问(使用频率高)
  2. default:包访问权限,在自己包内可以随意访问
  3. private:私有的(使用频率高)

在自己类里可以随意访问

二、使用类创建对象的权限 & 对象访问成员变量与方法的权限(来源:https://www.cnblogs.com/Ccurie/p/10603337.html)

  1. 在同一包中:

可以在任何另外一个类中使用public类与友好类创建对象;

创建的对象能够通过“.”运算符操作自己类中不是private的成员变量与方法。

  1. 不在同一包中:import语句

可以在任何另外一个类中使用public类创建对象;

创建的对象能够通过“.”运算符操作自己类中public的成员变量与方法。

getter和setter

成员变量一般使用private来声明,保护成员变量不被胡乱赋值

  1. getter:主要是给成员变量赋值,做一定的保护
  2. setter:从成员变量中获取数据
package com.daobao.entity;

public class Preson {
     private String name;
     private int age;
    //set(放在赋值)
    public void setName(String name) {
        this.name = name;
    }
    public void setAge(int age) {
        if(age<0){
            this.age=0;
        }else{
            this.age=age;
        }// 保护年龄,使之符合逻辑
    }
    //get拿到(放在打印输出)
    public String getName() {
        return this.name;
    }
    public int getAge() {
        return this.age;
    }
    //方法
    public void eat(){
        System.out.println(this.name+"在吃东西");
    }

}
package com.daobao.entity;//包的声明

public class TestPerson {
    public static void main(String[] args) {
      Preson a=new Preson();
        /* 访问权限(在同一包中):
         *  可以在任何另外一个类中使用public类与友好类创建对象;
         *  创建的对象能够通过“.”运算符操作自己类中不是private的成员变量与方法。
         */
      a.setName("张三");
      a.setAge(-2);

      System.out.println(a.getName());
      System.out.println(a.getAge());
      a.eat();
    }
}

标签:String,Student2,age,访问,getter,static,包和导,public,name
来源: https://www.cnblogs.com/42899lj/p/15545891.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有