标签:
类的高级概念包括:访问修饰符、封装、静态成员、初始化块以及内部类等混合内容。
访问修饰符:
(1).公开访问级别:使用public关键字修饰。用public关键字修饰的成员对外公开,即公开成员可以被任何其它对象访问。
(2).受保护访问级别:使用protected关键字修饰。受保护的成员可以被同一包中的类所访问,还可以被类的子类所访问,不管子类是在哪个包中。
(3).默认访问级别:没有访问修饰符。默认访问级别的成员可以被同一包中的其它类所访问。
(4).私有访问级别:使用private关键字修饰。它是四种访问修饰符中级别最低的。私有成员只有类本身可以访问,不对外公开。
类本身也有访问修饰符。但是累的访问修饰符只有公有的和默认的两种。
封装:封装是使类中的成员变量都是private,并提供public方法访问这些成员变量的技术。如果一个成员变量被声明为private,那么它就不能被其它类访问,从而隐藏了类中的成员变量。因此封装也被称为数据隐藏。
继承、封装、多态、抽象是面向对象编程的四大基本概念。
允许获取成员变量的get方法称为访问器(accessor)方法,允许修改成员变量的get方法称为修改器(mutator)方法。
public class SalesPerson{
private String name;
private int id;
//无参构造器
public SalesPerson(){
}
//有参构造器
public SalesPerson(String name,int id){
super();
this.name = name;
this.id = id;
}
public void setName(String name){
name = name;
}
public void getName(){
return name;
}
public void setId(int id){
id=id;
}
public void getName(){
return id;
}
}
在写get(),set()方法时注意命名的方式,一般在应用程序上有自动生成这些方法的操作。
封装的好处:类的成员变量可以成为只读或者只写的;类可以对存储在其成员变量中的内容有一个整体的控制;类的用户不需要知道类是如何存储数据的,实现代码的重用。
静态成员:关键字static允许成员变量或方法不与类的特定实例关联。通过关键字static声明的成员变量或方法可以被认为是全局的,任何其它类可以直接访问静态成员变量或调用静态方法,而不需要该类的一个实例。
类的静态成员经常被称为类成员,因为静态成员与类相关,而不是某个实例。非静态的成员变量和方法经常被称为实例成员,因为非静态的成员变量和方法只存在于类的实例中。
静态方法不能访问非静态成员。
实例初始化块:
/**
*父类
*/
public class Electronics{
public Electronics(){
System.out.println("构造一个电子设备");
}
}
/**
*实例初始化块
*/
public class CDPlayer extends Electronics{
private int songNumber;
public CDPlayer(int x){
super();
System.out.println("构造一个CD播放机");
songNumber=x;
}
{
System.out.println("在实例初始化块内");
}
}
/**
*运行
*/
public class InstanceInitDemo{
public static void main(String [] , args){
System.out.println("在main方法内");
CDPlayer c1 = new CDPlayer (1);
CDPlayer c2 = new CDPlayer (7);
}
}
发生顺序:
子类中相应的构造器被调用;执行对super的调用,控制流程跳转到相应的父类构造器;父类构造器执行完,控制流程跳转回子类构造器;在该子类构造器中的super()后面的任何语句执行前,实例初始化块执行;最后,执行子类构造器中super()后面的语句。
内部类:
静态内部类:作为类的静态成员,存在于某个类的内部;
成员内部类:作为类的成员,存在于某个类的内部;
局部内部类:存在于某个方法内部的类;
匿名内部类:存在于某个类的内部,但是无类名的类。
标签:
原文地址:http://www.cnblogs.com/fping/p/4456825.html