-
实例属性:我们创建了多个对象,每个对象都独立的拥有一套类中的实例变量(非静态属性)。
-
当修改其中一个对象的非静态属性时,不会导致其他对象中同样属性的修改
-
静态属性:我们创建了多个对象,多个对象共享同一个静态变量。当通过某一个对象修改静态属性时,
-
会导致其他静态属性使用这个静态属性时使用的时修改过的
-
3.2 static修饰属性的其他说明
-
①静态变量随着类的加载而加载(放到内存中),可以通过“类.静态变量”的方式进行调用
-
②静态变量的加载要早于对象的创建
-
③由于类只会加载一次,则静态 变量在内存中也只会存在一份:存在方法区的静态区
-
④ 类变量 实例变量
-
类调用 yes no
-
对象调用 yes yes
-
3.3 静态属性举例 System.out;Math.PI
-
4.使用static修饰方法:静态方法
-
① 随着类的加载而加载(放到内存中),可以通过“类.静态方法”的方式进行调用
-
② 静态方法 非静态方法
-
类调用 yes no
-
对象调用 yes yes
-
③静态方法中只能调用静态方法和属性
-
非静态方法中既可以调用静态的方法(属性)又可以调用非静态的方法(属性)
-
5.static注意点:
-
在静态方法内,不能使用this关键字、super关键字
-
6.开发中,如何确定一个属性是否要声明为static的?
-
>属性是可以被多个对象共享,不会随着对象的不同而不同
-
>类中的常量也常常声明为static
-
开发中,如何确定一个方法是否要声明为static的?
-
>操作静态属性的方法,通常设置为static
-
>工具类中的方法,习惯上声明为static,比如:Math、Arrays
*/
public class StaticTest {
public static void main(String[] args) {
Chinese.nation = “中国”;
//编译不通过
// Chinese.name = “张继科”;
Chinese c1 = new Chinese();
c1.name = “姚明”;
c1.age = 40;
Chinese c2 = new Chinese();
c2.name = “马龙”;
c2.age = 30;
c1.nation = “CHN”;
c2.nation = “CHINA”;
System.out.println(c2.nation);
System.out.println(c1.nation);
c1.eat();
Chinese.show();
//编译不通过
// Chinese.eat();
最后
为什么我不完全主张自学?
①平台上的大牛基本上都有很多年的工作经验了,你有没有想过之前行业的门槛是什么样的,现在行业门槛是什么样的?以前企业对于程序员能力要求没有这么高,甚至十多年前你只要会写个“Hello World”,你都可以入门这个行业,所以以前要入门是完全可以入门的。
②现在也有一些优秀的年轻大牛,他们或许也是自学成才,但是他们一定是具备优秀的学习能力,优秀的自我管理能力(时间管理,静心坚持等方面)以及善于发现问题并总结问题。
如果说你认为你的目标十分明确,能做到第②点所说的几个点,以目前的市场来看,你才真正的适合去自学。
除此之外,对于绝大部分人来说,报班一定是最好的一种快速成长的方式。但是有个问题,现在市场上的培训机构质量参差不齐,如果你没有找准一个好的培训班,完全是浪费精力,时间以及金钱,这个需要自己去甄别选择。
我个人建议线上比线下的性价比更高,线下培训价格基本上没2W是下不来的,线上教育现在比较成熟了,此次疫情期间,学生基本上都感受过线上的学习模式。相比线下而言,线上的优势以我的了解主要是以下几个方面:
①价格:线上的价格基本上是线下的一半;
②老师:相对而言线上教育的师资力量比线下更强大也更加丰富,资源更好协调;
③时间:学习时间相对而言更自由,不用裸辞学习,适合边学边工作,降低生活压力;
④课程:从课程内容来说,确实要比线下讲的更加深入。
应该学哪些技术才能达到企业的要求?(下图总结)
④课程:从课程内容来说,确实要比线下讲的更加深入。
应该学哪些技术才能达到企业的要求?(下图总结)
[外链图片转存中…(img-eqIFVjv4-1714333881653)]
[外链图片转存中…(img-kpAmoztb-1714333881654)]