###访问修饰符
public:公开成员可以被任何其他对象访问
protected: 同包或者不同包的子类可以访问
default:同包可以访问
private:同一类可以访问
###封装
隐藏内部实现,暴露外部方法
属性的封装
get获取
set设置
package student;
public class Test {
public static void main(String[] args) {
Student stu=new Student();
stu.getAge();
stu.setAge(17);
stu.getName();
stu.setName("张三");
System.out.println(stu.age+","+stu.name);
}
}
package student;
public class Student {
protected int age;
protected String name;
public int getAge() {
return this.age;
}
public void setAge(int age) {
if (age < 0 || age > 100) {
this.age = 18;
} else {
this.age = age;
}
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
###static修饰符
修饰方法:
1. 静态属性方法访问外部属性也许要static修饰
2. 调用别的方法也需要为static
3. static不能修饰类(内部类除外)
###初始化块
#####静态初始化块
>静态初始化最先执行,初始化块和构造函数类似,new多少个对象执行多少次。
public class StaticStudy {
static {
System.out.println("我是静态初始化块!");
}
{
System.out.println("我是初始化块!");
}
public StaticStudy(){
System.out.println("我是构造函数!");
}
}
public class Test {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
StaticStudy s = new StaticStudy();
}
}
}
###内部类
>定义:把一个类声明在另一个类的内部
>原因:需要使用一个类,但这个类的使用频率不是很高。
#####静态内部类
+static修饰的类
>静态内部类可以访问外部类的属性,前提是外部类的属性也由static修饰。
>非静态方法可以访问静态属性
#####成员内部类
class Outer{
class Inner{
}
}
######注意!
new对象需特别注意:
Outer o = new Outer();
Inner i = o.new Inner();
#####局部内部类
不能在别的地方new对象
public class Outer {
static int a = 10;
int b = 20;
void show() {
class Inner {
int c = 30;
void show2() {
System.out.println(a + " " + b + " " + c);
}
}
Inner in = new Inner();
in.show2();
}
}
public class Test {
public static void main(String[] args) {
Outer outer = new Outer();
outer.show();
}
}
原文:http://www.cnblogs.com/hsuhoo/p/6243469.html