学习笔记(34):4天速学JAVA面向对象-static关键字的基本概念

立即学习:https://edu.csdn.net/course/play/24609/274830?utm_source=blogtoedu

static关键字

1.概念

通常情况下成员变量隶属于对象层级,每创建一个对象就需要申请独立的内存空间来存放该对象独立的成员变量信息,若所有对象的某个成员变量数值完全一样却又单独存放会造成内存空间的浪费。

  为了解决上述问题,则使用static关键字修饰成员变量表达静态的含义,此时该成员变量由对象层级提升为类层级被所有对象共享,该成员变量随着类的加载准备就绪,与是否创建对象无关。

静态成员的属性和方法可以用对象调用,单一般推荐类名.调用

/*
   编程实现Person类的封装
*/

public class Person{

    //1。私有化成员变量,使用private关键字修饰

      private String name;
      private int age;
      //private String country; //隶属于对象层级,每个对象都有独立的一份
	  public static String country; //隶属于类层级,被所有对象共享一份
   //2.提供公有的get和set方法,并在方法体中进行合理值的判断

   //3.在构造方法中调用set方法进行合理值的判断
      public Person(String name,String country,int age){
        setName(name);
        setAge(age);
        setCountry(country);
      } 
      public Person(){}
      
  
      public String getName(){
           return name; 

      }
      public void setName(String name){
          this.name = name;
      }
      public int getAge(){
         
           return age;

      }
      public void setAge(int age){
          if (age >=0 && age <=150){
             this.age =age;
           }else{
              System.out.println("年龄不合适");     
           }
      }
      public String getConutry(){
            return country;  
      }
      public void setCountry(String country){
            this.country =country;
      }
	  
	  public void show(){
		  System.out.println("我叫"+getName()+"年龄"+getAge()+"国籍"+getConutry());
		  
	  }
	  
	  public static void main(String[] ages){

                  //没创建对象时候,用类名加变量名访问
                  System.out.println("Person.country="+Person.country);  
		  Person p=new Person("哈哈","大方",100);
		  p.show();
		 
                  Person p2=new Person("哈哈","大大",110); 
                   p.country="静态";
                   System.out.println("国籍"+p2.country);
		  
	  }
                                 


}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值