面向对象一
来源:互联网 发布:罂粟壳在淘宝上叫什么 编辑:程序博客网 时间:2024/06/06 10:54
类的初始化过程:
Student s = new Student();在内存中做了哪些事情?
•加载Student.class文件进内存
•在栈内存为s开辟空间
•在堆内存为学生对象开辟空间
•对学生对象的成员变量进行默认初始化
•对学生对象的成员变量进行显示初始化
•通过构造方法对学生对象的成员变量赋值
•学生对象初始化完毕,把对象地址赋值给s变量
static关键字
static关键字特点
•随着类的加载而加载
•优先于对象存在
•被类的所有对象共享
•这也是我们判断是否使用静态关键字的条件
•可以通过类名调用
static关键字注意事项
•在静态方法中是没有this关键字的
•静态方法只能访问静态的成员变量和静态的成员方法
•静态的内容存在于方法区的静态区代码块
•在Java中,使用{}括起来的代码被称为代码块,根据其位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同步代码块(多线程讲解)。
继承
•局部代码块
•在方法中出现;限定变量生命周期,及早释放,提高内存利用率
•构造代码块
•在类中方法外出现;多个构造方法方法中相同的代码存放到一起,每次调用构造都执行,并且在构造方法前执行
•静态代码块 在类中方法外出现,加了static修饰
在类中方法外出现,并加上static修饰;用于给类进行初始化,在加载的时候就执行,并且值执行一次继承
特点 : Java只支持单继承,不支持多继承。
Java支持多层继承(继承体系)
Java支持多层继承(继承体系)
super 和 this
super的用法和this很像
•this代表本类对应的引用。
•super代表父类存储空间的标识(可以理解为父类引用)
用法(this和super均可如下使用)
访问成员变量
this.成员变量 super.成员变量
访问构造方法(子父类的构造方法问题讲)
this(…) super(…)
访问成员方法(子父类的成员方法问题讲)
this.成员方法() super.成员方法()
代码一
class X {Y b = new Y("wcb");X() {System.out.print("X");}}class Y {Y() {System.out.print(" Y() ");}Y(String s) {System.out.print(" Y(String) ");}}class Z {Z() {System.out.print("Z");}}public class Main extends X {Z z = new Z();Main() {System.out.print("Z");}public static void main(String args[]) {new Main();System.out.println();}}//-----------OUTPUT-----------//Y(String) XZZ
0 0
- 面向对象(一)
- 面向对象高级(一)
- 面向对象(一)
- 面向对象(一)
- javascript 面向对象(一)
- JavaScript面向对象(一)
- 面向对象(一)
- 面向对象基础<一>
- 面向对象(一)
- 面向对象一
- javaScript 面向对象一
- php面向对象(一)
- Java面向对象(一)
- extjs面向对象一
- java面向对象(一)
- Java面向对象(一)
- 面向对象(一)
- (一)面向对象
- vxWorks多任务编程初探-下
- 核心运动(1)
- window与linux hdfs通讯环境搭建
- OpenCV坐标体系的初步认识
- 只需一个就够(控制器)
- 面向对象一
- GDI+ GetEncoderClsid
- Android基础知识【项目实训-登录与个人信息及样式背景】【7】
- instancetype 对比 id 的好处。
- Android Studio 报错:Failed to find:com.android.support:appcompat-v7:21.+
- 用JS打开新窗口,防止被浏览器阻止的解决方法
- 好几天来没写了。不知道该说什么好。
- c,c++输入流
- asp.net中js前台为span或后台lable,或Literal控件赋值