类的构成
2015-08-09 23:28
218 查看
[b]类的构成有以下部分构成:[/b]
代码段
动态代码段
静态代码
成员变量
静态变量
局部变量
常量
成员方法
静态方法
构造方法
this(对象)
super(对象)
下面对类里面的东西进行一一分析,可以更清晰的理解Java类的构成
代码段:
一个完整的大括号就是一个代码段,就代表了一段独立的内存空间,空的也是个代码
动态代码段:
1、就是没有任何修饰的一对大括号{}
2、也就是写记录日志,还就是性能测试
静态代码段:
1、用static修饰的一对大括号static{},是在类加载阶段就运行的代码段
2、写日志用,用于记录类被调用的时间的数据
成员变量:
1、每个对象中的值都是不一样,但是也可以一样
2、保存的位置:堆内存,堆内存的大小是动态分配
3、赋值时间:一般情况下在实例化之前是空值,没有赋值的
在实例化的时候赋值,调用对应的构造方法对成员变量赋值,也可以不赋值,编译器会给默认值。通过调用成员变量进行赋值也可以
和局部变量的区别:局部变量必须声明就赋值,要不然会报错。
也是引用数据类型中,多态发生的时候
4、关联关系:成员变量的值是另外一个类对象的引用
5、调用:对象名.成员变量名。类名不可以调用成员变量,静态上下中不可以调用非静态属性
静态变量:
1、是属于类级别的,每个对象中的都一样
2、保存位置是静态数据区
3、最好在声明的时候就赋值
4、调用:类名.静态变量名
局部变量:
1、在方法中生命的变量是局部变量,并且生命的时候,就必须赋值
2、局部变量优先级大于成员变量的优先级
3、方法的形参列表也是局部变量
4、局部变量和循环体重的变量不可以重名
5、依赖关系:局部变量的值是另外一个类对象的引用
常量:
1、声明:public static final 数据类型 大写_ = 值;
2、在整个软件生命周期中,值不会改变
3、在接口中,psf可以省略
4、调用:类名.常量名
成员方法:
1、没有static修饰的方法叫成员方法
2、调用:对象名.成员方法名(实参列表);
3、多态:方法生命的时候,形参列表中是父类或是借口
调用的时候,传的是子类对象的引用
静态方法:
1、用static修饰的方法
2、调用:类名.静态方法名(实参列表);
3、保存在静态代码区中
4、不能再静态方法中调用非静态的成员属性
构造方法:
1、用于在类实例化中,创建当前类对象的方法(实例化当前类对象)
2、默认是:公共的,静态的,没有返回值的,名字和类名一样的
3、在实例化中,一般用于实例化成员变量
4、注意: 单例模式中的使用
构造的重载,对不同的成员变量进行赋值
不可以被继承复写,但是可以被调用,super()
接口中没有构造方法,因为接口就是用类实现的,不需要构造方法,接口不能被实例化
抽象类中有构造方法,用于子类实例化父类对象super()
this(对象):
1 给成员变量加前缀,然后复制
2 用在构造方法中,重载调用本类中别的构造方法,this()重载调用的时候,必须写在构造方法的第一行
3 用于表示本类的对象,里面保存了本类的地址,this位于堆内存中第一个内存片中
4 在堆内存中,我们有堆内存中第一个内存片的内存地址作为整个对象的内存地址,并且命名为this
super(对象):
1 super代表的是当前子类对象中的父类型特征
2 在子类的构造方法重载调用父类别的构造方法的时候,必须写在第一行
3 super()和this()不能重复出现
4 super可以用来调用父类的成员属性和成员方法
在上面的说明中,有两个字出现的频率很高:调用。其实类最主要的作用就是:代码复用
类对象之间的6中关系:
1 继承
2 实现
3 依赖:局部变量是另外一个类对象的引用
4 关联:成员变量是另外一个类对象的引用
5 聚合:类中的集合中的元素是另外一个类对象的引用
6 组合
代码段
动态代码段
静态代码
成员变量
静态变量
局部变量
常量
成员方法
静态方法
构造方法
this(对象)
super(对象)
下面对类里面的东西进行一一分析,可以更清晰的理解Java类的构成
代码段:
一个完整的大括号就是一个代码段,就代表了一段独立的内存空间,空的也是个代码
动态代码段:
1、就是没有任何修饰的一对大括号{}
2、也就是写记录日志,还就是性能测试
静态代码段:
1、用static修饰的一对大括号static{},是在类加载阶段就运行的代码段
2、写日志用,用于记录类被调用的时间的数据
成员变量:
1、每个对象中的值都是不一样,但是也可以一样
2、保存的位置:堆内存,堆内存的大小是动态分配
3、赋值时间:一般情况下在实例化之前是空值,没有赋值的
在实例化的时候赋值,调用对应的构造方法对成员变量赋值,也可以不赋值,编译器会给默认值。通过调用成员变量进行赋值也可以
和局部变量的区别:局部变量必须声明就赋值,要不然会报错。
也是引用数据类型中,多态发生的时候
4、关联关系:成员变量的值是另外一个类对象的引用
5、调用:对象名.成员变量名。类名不可以调用成员变量,静态上下中不可以调用非静态属性
静态变量:
1、是属于类级别的,每个对象中的都一样
2、保存位置是静态数据区
3、最好在声明的时候就赋值
4、调用:类名.静态变量名
局部变量:
1、在方法中生命的变量是局部变量,并且生命的时候,就必须赋值
2、局部变量优先级大于成员变量的优先级
3、方法的形参列表也是局部变量
4、局部变量和循环体重的变量不可以重名
5、依赖关系:局部变量的值是另外一个类对象的引用
常量:
1、声明:public static final 数据类型 大写_ = 值;
2、在整个软件生命周期中,值不会改变
3、在接口中,psf可以省略
4、调用:类名.常量名
成员方法:
1、没有static修饰的方法叫成员方法
2、调用:对象名.成员方法名(实参列表);
3、多态:方法生命的时候,形参列表中是父类或是借口
调用的时候,传的是子类对象的引用
静态方法:
1、用static修饰的方法
2、调用:类名.静态方法名(实参列表);
3、保存在静态代码区中
4、不能再静态方法中调用非静态的成员属性
构造方法:
1、用于在类实例化中,创建当前类对象的方法(实例化当前类对象)
2、默认是:公共的,静态的,没有返回值的,名字和类名一样的
3、在实例化中,一般用于实例化成员变量
4、注意: 单例模式中的使用
构造的重载,对不同的成员变量进行赋值
不可以被继承复写,但是可以被调用,super()
接口中没有构造方法,因为接口就是用类实现的,不需要构造方法,接口不能被实例化
抽象类中有构造方法,用于子类实例化父类对象super()
this(对象):
1 给成员变量加前缀,然后复制
2 用在构造方法中,重载调用本类中别的构造方法,this()重载调用的时候,必须写在构造方法的第一行
3 用于表示本类的对象,里面保存了本类的地址,this位于堆内存中第一个内存片中
4 在堆内存中,我们有堆内存中第一个内存片的内存地址作为整个对象的内存地址,并且命名为this
super(对象):
1 super代表的是当前子类对象中的父类型特征
2 在子类的构造方法重载调用父类别的构造方法的时候,必须写在第一行
3 super()和this()不能重复出现
4 super可以用来调用父类的成员属性和成员方法
在上面的说明中,有两个字出现的频率很高:调用。其实类最主要的作用就是:代码复用
类对象之间的6中关系:
1 继承
2 实现
3 依赖:局部变量是另外一个类对象的引用
4 关联:成员变量是另外一个类对象的引用
5 聚合:类中的集合中的元素是另外一个类对象的引用
6 组合
相关文章推荐
- 01_Nginx安装,nginx下部署项目,nginx.conf配置文件修改,相关文件配置
- kicistart 部署linux(实验失败,待排错)
- css浮动
- 01_Nginx安装,nginx下部署项目,nginx.conf配置文件修改,相关文件配置
- 互联网金融四大暴富机会:P2P 征信 支付 供应链金融
- java倒油分析
- Spring Bean基本管理
- 第81讲:Scala中List的构造时的类型约束逆变、协变、下界详解学习笔记
- 孤独,我的宿命
- Codeforces Round #295 (Div. 1) B. Cubes(最大最小堆+拓扑模拟)
- burp suite使用(三)--- intruder收集关键信息
- Java类对象的定义和使用
- gitweb 搭建教程
- Reverse Integer
- 机器学习:逻辑回归
- 让一样的大脑,下载不一样的视频
- 正则表达式学习资料
- The resource identified by this request is only capable of generating responses with characteristics
- 高性能负载均衡软件 HAProxy
- (一一三)使用系统自带框架操作SQLite3数据库