Java中小知识点

java访问控制符的访问权限

private:当前类访问权限

default:包访问权限

protected:所在类的子类访问权限。如果使用protecte修饰一个方法,通常是需要其子类重写这个方法。

public:公共访问权限

访问控制符的作用在于控制一个类的成员是否能被其他类访问(控制它的作用域),对于局部变量,其作用域就是它所在的方法,故局部变量不能被这些访问控制符修饰。

由于外部类不属于任何一个类,也就不存在所在类内部和所在类子类的说法,所以private和protected对外部类来说没有意义。外部类可以用public修饰,使用public修饰的外部类可以被所有类使用,default修饰的外部类只能被处于同一个包中的其他类使用。

java构造器的返回值

在java中,类的构造器(Constructor)在形式上与成员变量差不多,区别在于构造器不能指定返回值类型,不能用void声明构造器没有返回值,更不能在构造器中显示return某个值或该类的实例,如果在类名前加上类型定义的函数,则会被编译器认为是普通的成员函数。从本质上来说,构造器是有返回值的,构造器在使用new创建对象的时候被调用,返回值总是该类的实例,故无须定义返回值。

Java源文件的命名规则

1、Java源文件的 后缀必须是.java

2、在java源文件的类没有用public修饰的情况下,主文件名可以是任意的,一个java文件里可以有无数个类。但如果如果源文件中存在一个public修饰的类,这个源文件的文件名必须与该类的名称相同,也就是一个java源文件中最多只能定义一个public修饰的类。

3、最好在一个java源文件中只定义一个类,内部类除外。不同的类使用不同的源文件定义,java源文件的文件名与类名字相同,首字母大写。

java中static关键字的作用

static在java语言中有着修饰成员变量、成员方法、内部类、初始化块这四个作用,将static修饰的变量和方法直译为静态成员变量和静态成员方法并不能直接在字面意思上体现他的作用,static真正的作用是区分修饰的东西到底属于该类(Class)本身还是属于对象(instance)。有static修饰的成员属于类本身,而没有static修饰的成员属于该类的实例,也就是说static修饰的成员变量或方法可以通过类名或类的实例使用,而没有static修饰的方法和成员变量必须在该对象的某一个实例中才能通过实例使用。

由于static修饰的成员方法可以直接通过类名调用,而this指针则是代表调用该方法的具体的对象,所以static方法中无法调用非静态的的成员方法和成员变量。

java的main()方法中不能new内部类对象

java的main()方法是个静态方法,它是游离于任何类之外的(就跟C/C++一样,单独一个main方法),因此某类的非静态内部类对它而言是不直接可见的,也就无法直接访问。java中static修饰的成员不能访问没有用static修饰的成员。
main 方法是个静态方法,而静态类不是个静态内部类,所以不能直接初始化。
对main方法而言,虽然写在类中,非静态变量不能从静态上下文中引用
 

猜你喜欢

转载自blog.csdn.net/rookiegan/article/details/82422869