"Java面向对象-static修饰符和特点"的笔记

什么是学习笔记?

你在学习中想写的批注、摘抄及随感。
Java面向对象-static修饰符和特点, static修饰符和特点 对象都有name和age两个状态, 但是不同对象的name的值和age的值是不一样的. 也就是说,不同对象的name和age是不一样的. Person p1 = new Person(); p1.name=”春哥”; p1.age = 31; Person p2 = new Person(); p2.name = “凤姐”; p2.age = 30; System.out.println(p1.name +”, ” + p2.name);//春哥,凤姐 ----------------------------------------------- 也就说name和age是属于对象的, 不同对象的name和age是不一样的. 但是在生活中有些东西不是属于某一个具体对象的, 而是属于整个事物的类型, 比如:全世界人的总数,人的毁灭的行为. 毁灭的行为,应该属于人类,而不属于某一个人. ----------------------------------------------- 状态和行为应该有对象和类型之分. 有的状态和行为应该属于对象, 不同的对象,状态和行为可以不一样. 有的状态和行为应该属于类型,不属于对象. 问题: 现在如何表示人类毁灭这个行为(destory). 要解决该问题,得学习static修饰符. ----------------------------------------------- 修饰符: 晚上11点,班长在写代码,遇到一个bug,班长解决问题后,睡觉去了。 晚上11点,班长漫不经心地在写代码,遇到一个很简单的bug,班长稀里糊涂解决问题后,满不在乎地睡觉去了。 晚上11点,帅气的班长认认真真地在写代码,遇到一个超难的bug,班长呕心沥血解决问题后,眉开眼笑地睡觉去了。 ----------------------------------------------- static修饰符表示静态的, 可修饰字段、方法、内部类, 其修饰的成员属于类, 也就是说static修饰的资源属于类级别, 而不是对象级别。 static的真正作用: 用来区别字段,方法,内部类, 初始化代码块是属于对象还是属于类本身。 ----------------------------------------------- static修饰符的特点: 1):static修饰的成员(字段/方法),随着所在类的加载而加载. 当JVM把字节码加载进JVM的时候,static修饰的成员已经在内存中存在了. 2):优先于对象的存在. 对象是我们手动通过new关键字创建出来的. 3):satic修饰的成员被该类型的所有对象所共享. 根据该类创建出来的任何对象,都可以访问static成员.(狗天生就吃屎.) 剧透:表面上通过对象去访问static成员,其本质依然使用类名访问,和对象没有任何关系(通过反编译看到的). 4):直接使用类名访问static成员 因为static修饰的成员直接属于类,不属于对象,所以可以直接使用类名访问static成员.