Java一些重要的小知识点

1、类中的实例方法可以操作类方法(static变量),类方法(static方法)不可以操作实例变量,因为可能实例还不存在

Java一些重要的小知识点

2、类中的实例方法不可以用类名直接调用,实例方法,需要先创建实例,然后才可以调用实例的方法。在类中可以使用修饰符修饰类的方法,这样的方法可以不用new类,就可以直接使用类的方法。

3、类变量与实例变量的区别:一个类通过使用new运算符可以创建多个不同的对象,不同的对象的实例变量将被分配不同的内存空间。所有对象的类变量都分配给相同的一处内存,对象共享类变量

4、this关键字代表对象,不可出现在类方法中

Java一些重要的小知识点

5、成员变量有默认值,局部变量无默认值

Java一些重要的小知识点

6、protected和private不可修饰类。

Java一些重要的小知识点

具体解释源于网络

解释一、
对于*类(外部类)来说,只有两种修饰符:public和默认(default)。因为外部类的上一单元是包,所以外部类只有两个作用域:同包,任何位置。因此,只需要两种控制权限:包控制权限和公开访问权限,也就对应两种控制修饰符:public和默认(default)。如果类使用了private修饰符,说明是个内部类。内部类的上一级是外部类,那么对应的有四种访问控制修饰符:本类(private),同包(default),父子类(protected),任何位置(public)。当一个内部类使用了private修饰后,只能在该类的外部类内部使用。

解释二、
1、为什么不能用private修饰Java外部类?
因为如果使用private修饰Java外部类,那么这个类不能创建实例,这个类的属性和方法不能被访问,那么创建这个类毫无意义,所以不能使用private修饰Java外部类。
2、为什么不能用protected修饰Java外部类?
举个栗子,如果类A用protected修饰,与类A不同包的类B想要访问类A的话,类B就必须是继承类A的(或者说类B必须为类A的子类),但是类B继承类A的前提又是类B可以访问到类A,仔细想想会发现这里是冲突的,其实这就说明了为什么不能用protected来修饰外部类。再说,protected是用来表示在继承关系中的访问权限的,在同一个包和子类中都可以访问,因为继承就是为了拥有父类的属性和方法,所以protected是用于修饰类的方法和属性的,也就是说,我想要这个类的属性和方法可以被任何子类继承,我就用protected。我想要这个类的属性和方法不能被任何子类继承,我就用private。同理,我想要这个类被继承,我就用abstract。我不想这个类被继承,我就用final。所以,用protected修饰类有什么意义呢?关键点还是在于第一句话,protected是用来表示在继承关系中的访问权限的!

Java一些重要的小知识点

7、Java实例不能直接访问私有变量,但可以通过setter和getter方式进行私有变量的赋值和读取的

e.g.
Java一些重要的小知识点
代码1、4错误

8、经典例题(答案在图片下)

Java一些重要的小知识点
答案:-100 (x = 100,y = -200)

9、一不留神就做错的题(答案在图片下)

Java一些重要的小知识点
答案:100 20.0

之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!