static作用:

A:可以修饰成员变量和成员方法

static的特点:

A:被类的所有对象共享(针对多个对象有共同的这样的成员变量值的时候,)

B:静态修饰的内容一般我们称其为:与类相关的,类成员

package day10;
/*定义一个人类姓名和年龄都是变化的,这个我能接收,因为每个人的姓名和年龄是不同的。但是,我们现在选取的几个人都是中国人,他们的国籍是一样的。一样的国籍,我每次创建对象,在堆内存都要开辟这样的空间,我就觉得有点浪费了。怎么办呢?针对多个对象有共同的这样的成员变量值的时候,Java就提高了一个关键字来修饰:static。
*/
class Person {//姓名String name;//年龄int age;//国籍//String country;static String country;public Person(){}public Person(String name,int age) {this.name = name;this.age = age;}public Person(String name,int age,String country) {this.name = name;this.age = age;this.country = country;}public void show() {System.out.println("姓名:"+name+",年龄:"+age+",国籍:"+country);}
}public class LX1 {public static void main(String[] args) {//创建对象1Person p1 = new Person("邓丽君",16,"中国");p1.show();//创建对象2//Person p2 = new Person("杨幂",22,"中国");//p2.show();Person p2 = new Person("杨幂",22);p2.show();//创建对象3//Person p3 = new Person("凤姐",20,"中国");//p3.show();Person p3 = new Person("凤姐",20);p3.show();p3.country = "美国";p3.show();p1.show();p2.show();}
}

运行结果:

姓名:邓丽君,年龄:16,国籍:中国
姓名:杨幂,年龄:22,国籍:中国
姓名:凤姐,年龄:20,国籍:中国
姓名:凤姐,年龄:20,国籍:美国
姓名:邓丽君,年龄:16,国籍:美国
姓名:杨幂,年龄:22,国籍:美国

/*
static关键字特点随着类的加载而加载优先于对象存在被类的所有对象共享这也是我们判断是否使用静态关键字的条件可以通过类名调用--也可以通过对象调用类明.方法名------对象名.方法名注意事项:
static关键字注意事项在静态方法中是没有this关键字的静态方法只能访问静态的成员变量和静态的成员方法*/

static静态关键字的注意事项:

/*
    static关键字注意事项
  
     A:在静态方法中是没有this关键字的
            如何理解呢?
                静态是随着类的加载而加载,this是随着对象的创建而存在。
                静态比对象先存在。

        B:静态方法只能访问静态的成员变量和静态的成员方法
                静态方法:
                    成员变量:只能访问静态变量
                    成员方法:只能访问静态成员方法
                非静态方法:
                    成员变量:可以是静态的,也可以是非静态的
                    成员方法:可是是静态的成员方法,也可以是非静态的成员方法。
        
    简单记:
                静态只能访问静态。

*/

class Teacher {public int num = 10;//静态的成员变量public static int num2 = 20;//非静态的成员方法public void show() {System.out.println(num); //隐含的告诉你访问的是成员变量System.out.println(this.num); //明确的告诉你访问的是成员变量System.out.println(num2);//function();//function2();}public static void method() {//无法从静态上下文中引用非静态 变量 num//System.out.println(num);//静态方法只能访问静态变量不能访问非静态的成员变量System.out.println(num2);//无法从静态上下文中引用非静态 方法 function()//function();function2();}public void function() {}public static void function2() {}
}class TeacherDemo {public static void main(String[] args) {//创建对象Teacher t = new Teacher();t.show();System.out.println("------------");t.method();}
}

面向对象(static关键字)相关推荐

  1. 第三次学JAVA再学不好就吃翔(part26)--static关键字

    学习笔记,仅供参考 文章目录 面向对象 static关键字 静态关键字的特点 注意事项 面向对象 static关键字 先看一个例子 class Bunny0601A {public static vo ...

  2. Day16-01 P71 面向对象12什么是多态 P72 对象13:instanceof和类型转换 P73 static关键字详解 P74 抽象类 P75 接口的定义与实现 P76N种内部类

    Day16-01 P71 面向对象12:什么是多态 //父类Person package com.oop.demo06;public class Person {public void run(){S ...

  3. 7 面向对象(成员变量和局部变量的区别,类作为形式参数的问题,匿名对象,封装,private关键字,this关键字,构造方法,类的初始化过程,static关键字)

    1:成员变量和局部变量的区别(理解) (1)在类中的位置不同 成员变量:类中方法外 局部变量:方法定义中或者方法声明上 (2)在内存中的位置不同 成员变量:在堆中 局部变量:在栈中 (3)生命周期不同 ...

  4. 【职坐标】java面向对象前言——static关键字

    Java面向对象前言 -- static关键字详解 一.      Static关键字的概念 static为"全局"或者"静态"的意思,用来修饰成员变量(类的属 ...

  5. Java入门姿势【面向对象4】 static关键字

    上次我为大家写出啦"构造方法及其重载_方法的调用",上篇文章代码可能较多,如没有了解透彻的话请打开下方文章在进行观看一下哦!! [Java入门姿势[面向对象3]构造方法及其重载_方 ...

  6. 面向小姐姐的编程——java面向对象之final、static关键字

    文章目录 final关键字 final的概念 final的作用 修饰类: 修饰变量: 总结 代码示例 static关键字 static的概念 static的作用 调用方式 static修饰成员变量 特点: ...

  7. Java——面向对象进阶(final关键字,static关键字,匿名对象,内部类,四种访问修饰符,代码块)...

    一.final关键字 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承,或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承了这些特殊类之后,就可 ...

  8. 面向对象基础——static关键字和代码块的使用

    具体内容  在Java中可以使用static声明属性和方法,因为之前多部分属性和方法都属于非static的,这样一来,每个对象都占有自己的内容,如果现在希望一个属性被所有的对象所共同拥有,则可以将其声 ...

  9. java面向对象三个关键字,Java 面向对象(三)static 关键字

    一.static 1.概述 static 的意思的静态的,也是一种修饰符. 关于 static 关键字的使用,它可以用来修饰的成员变量和成员方法,被修饰的成员是属于类的,而不是单单属于某个对象的. 用 ...

  10. 《java入门第一季》之面向对象(static关键字)

    /*static的特点:(它可以修饰成员变量,还可以修饰成员方法)A:随着类的加载而加载回想main方法.B:优先于对象存在C:被类的所有对象共享举例:班级的学生应该共用同一个班级编号.其实这个特点也 ...

最新文章

  1. 中国互联网+光伏建筑一体化行业商业模式创新与投资机会深度报告
  2. 大容量类 Redis 存储的场景补充-pika
  3. 【RecyclerView】 九、为 RecyclerView 设置不同的布局样式
  4. ora-01033:oracle initializationg or shutdown in progress
  5. 防止黑客入侵的五大技巧
  6. 微软向Linux表白: 向Linux社区开放60000多项专利
  7. 簇的局部变量中布尔类型_java基础2(变量、常量、数据类型)
  8. MTK 驱动(71)---DDR进行bitflip压力测试
  9. GA-T1400协议--人脸数据
  10. java ee 设计模式_Java EE 设计模式解析与应用_源雷技术空间
  11. 伺服驱动器的接线与基本控制
  12. html实现点击图片放大功能
  13. 自学系列-有哪些高质量的自学网站
  14. Tableau 中国最美八条骑行线路(一)线路地图
  15. yum设置 ccproxy 细节
  16. 推荐几个免费的在线文本转语音网站(支持中英文多种语音)
  17. linux教程试卷_Linux 系统安装试题
  18. 常用的排序算法-快速记忆
  19. postgresql + postgis 离线安装
  20. 大二Web课程设计期末考试——基于HTML+CSS+JavaScript+jQuery电商类化妆品购物商城

热门文章

  1. 九龙证券|港股盘中暴涨110%!多股涨停,有色、汽车板块爆发!
  2. ACM-ICPC 2018 徐州赛区网络预赛 I. Characters with Hash
  3. Fabrice Bellard其人
  4. 【转】计算方法太牛了,留着以后教孩子
  5. 风雨人生,自己撑伞=
  6. P3646 [APIO2015]巴厘岛的雕塑
  7. 计算机软件技术基础上机心得,计算机软件技术基础上机编程
  8. node.js里的天龙八部
  9. 正点原子stm32F407学习笔记1——新建工程模板
  10. 漏洞扫描原理及X-Scan使用