类
类的封装
类是Java程序的基本要素
class 类名
{
成员变量; // 在整个类当中有效,和定义的位置无关 。可以再定义时赋值;
函数;
//类中不可以有语句;a=234(X);
}
类的成员详解
(1) 构造方法
可以重载,如果不定义系统默认提供无参构造函数,
类名(){}
(2)成员变量
实例变量 //有独立的内存空间
int 默认为 0;
doule 默认为 0.0 ;
boolean 默认为 false
引用型 为 null
静态变量 (类变量)
static int x; / / 所以对象共享这个变量 唯一的内存 好处是可以通过类名访问 ,不需要定义变量 静态函数也是这样
常量
fint int Max=10; // M 必须初始化 ,不可以被修改
(3)成员函数
格式:
实例方法
可以调用类方法和实例方法; 可以操作所以变量
类方法(静态方法) 例如: static void fun();
只能调用类方法; 只能操作类变量;
使用 通过类名使用 类名::类方法();
函数的参数
参数必须实例化;(拷贝)
函数的属性:
重载
this // 表示 实例的对象,不可以出现在类方法中,因为出现了你也不知道是哪个实例
(4)类成员的访问权限
private + 成员变量 ;
protected + 成员方法 ;
public......
权限是针对 类创建的实例对象的 即 对象是否可以通过 “ . ” 在类外使用 类的成员
友好成员
不用 private, protected, public 修饰的成员 称为 友好成员变量 友好成员方法
友好类
类的对象
创建对象 = 声明+分配成员变量
a.声明:
类名 对象名 ; //声明时 对象=NULL 不可以使用,必须分配成员变量,声明的只是实体的引用,所以没有分配内存
b.为对象分配成员变量
对象名=new 类名() ; //调用无参构造函数 java 有垃圾回收机制 ,系统在不用这块内存是自己释放,
对象的使用 //this 就是对象名在类中的代名词
对象名 . 成员变量;
对象名 . 成员函数 ;
包***************************************************************
作用:
管理类的机制
声明:
package 包名; //可以带路径 ..\tom\jiafei -> package tom.jiafei;
编译后:
使用包中的类
JDK 1.6提供的类:
java.applet//applet类
java.awt //GUI类 窗口文本等
java.io // 输入输出类
java.net //网络类
javax.net // JDK 1.6 后 改进的网络类
.
.
在程序中引入包中的类
import java.awt.*;// * 表示引入所以的类
import java.awt.[想要使用的类名] // 引入指定的类
可以自定义包和类
类的继承
子类和父类在同一个包中、
子类和父类不在同一个包中
子类对象
子类对象的构造过程 只为继承的成员和自己的成员分配对象
方法重写
spuer
(1)可以调用父类的构造方法
(2)操作被隐藏的成员
final 类和final方法
final 类不可以被继承
final 方法不可以被重写
注意: 父子的成员的同名隐藏
接口-inerface
java 不支持多继承 接口可以克服这一缺点
不能有变量的 方法的声明类