public
公共的。Java语言中访问限制最宽的修饰符,被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包(package)访问。
private
私有的。Java语言中对访问权限限制的最窄的修饰符,被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。
protected
被保护的。介于public和private之间的一种访问修饰符。被其修饰的类、属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。
default:
默认的。即不加任何访问修饰符。该模式下,只允许在同一个包中进行访问。
static:
用来修饰静态类、方法和变量。
final:
用来修饰不会被修改的方法和变量。
abstract:
用来修饰抽象类和方法。
volatile:
修饰被不同线程访问和修改的变量,都会直接读取原值,而不会因编译器的优化而读取备份。const:const关键字是在类中定义常量,而define()函数也是定义常量,但它是在类外定义常量,调用方式和静态成员是一样的,都是通过类名或者在成员方法中使用self关键字进行访问,但是不建议使用对象引用进行访问。
static是静态的,保存在内存中的初始化静态段中。不能使用this访问平常的变量是保存在堆中的输出static的内容:echoPreson::this访问
平常的变量是保存在堆中的
输出static的内容: echo Preson::this访问平常的变量是保存在堆中的输出static的内容:echoPreson::name
静态的成员属性效率较高,因为不必需要实例化成对象,不用开辟空间
在内部输出静态变量的时候尽量用self::name;防止静态变量名被改变在外部输出静态变量的时候尽量用类名::name;防止静态变量名被改变
在外部输出静态变量的时候尽量用类名::name;防止静态变量名被改变在外部输出静态变量的时候尽量用类名::name; 例如Person::name多个对象访问的静态成员属性是同一个(共享同一个静态成员属性)静态的成员方法中,不允许有非静态的内容name
多个对象访问的静态成员属性是同一个(共享同一个静态成员属性)
静态的成员方法中,不允许有非静态的内容name多个对象访问的静态成员属性是同一个(共享同一个静态成员属性)静态的成员方法中,不允许有非静态的内容this;
必须要记住的下面
静态的成员方法在类的内部使用this调用静态成员方法在类的内部可以使用self::this调用
静态成员方法在类的内部可以使用self::this调用静态成员方法在类的内部可以使用self::name;
静态的成员方法在类的外部可以使用对象调用
1静态的成员方法在类的外部可以使用类名::方法名()调用
静态的成员方法中不允许有this;推荐使用类名调用,效率较高静态的成员方法在类的外部都可以使用类名::方法名()调用成员方法中如果没有包含任何的this;
推荐使用类名调用,效率较高
静态的成员方法在类的外部都可以使用类名::方法名()调用
成员方法中如果没有包含任何的this;推荐使用类名调用,效率较高静态的成员方法在类的外部都可以使用类名::方法名()调用成员方法中如果没有包含任何的this,该方法默认的成员静态方法
8809

被折叠的 条评论
为什么被折叠?



