基础很重要
1、修饰符
public:类、接口、变量、方法
protected:变量、方法
default:类、接口、变量、方法
private:变量、方法
abstract:类、接口、方法
static:类、变量、方法、内部类、静态代码块
final:类、变量、方法
接口修饰:
public:所有包可见
default:同一个包中可见
strictfp:strict float point(精确浮点)
接口的变量需要定义成public static final ,默认就是,
接口的方法只能使用public、abstract修饰
访问权限符与继承:
修饰成员变量和方法的访问权限修饰符
1、子类与父类在同一个包中:
只有private修饰的变量和方法不能被访问
2、子类与父类不在同一个包中:
private和default都不能访问,protected和public可以
2、内部类
成员内部类:
class MemberInner {
private int a=1;
public class Inner{
public void test(){
System.out.println(a);
}
}
}
public class MemberInnerClassTest {
public static void main(String[] args) {
MemberInner.Inner inner=new MemberInner().new Inner();
inner.test();
}
}
局部内部类:
class LocalInner{
public void doSomething(){
class Inner{
public void test(){
System.out.println("局部内部类");
}
}
Inner inner =new Inner();
inner.test();
}
}
public class StaticInnerClassTest {
public static void main(String[] args) {
LocalInner inner=new LocalInner();
inner.doSomething();
}
}
静态内部类:
class StaticInner {
private static int a=1;
public static class Inner{
public void test(){
System.out.println(a);
}
}
}
public class StaticInnerClassTest {
public static void main(String[] args) {
StaticInner.Inner inner=new StaticInner.Inner();
inner.test();
}
}
public class AnonymousInnerClassTest {
@SuppressWarnings("deprecation")
public String get(Date date){
return date.toLocaleString();
}
public static void main(String[] args) {
AnonymousInnerClassTest test=new AnonymousInnerClassTest();
String str=test.get(new Date(){
public String toLocaleString(){
return "7/18";
}
});
System.out.println(str);
}
}