博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象
阅读量:6305 次
发布时间:2019-06-22

本文共 1438 字,大约阅读时间需要 4 分钟。

1.特性:封装性,继承性,多态性。

2.类与对象

              类:一类事物

      对象:该类事物的个体,类的实例。

3.类的定义 :成员变量;成员方法;

例:class Person{

int age =10;
void speak(){
System.out.println("我今年"+age+"岁!");
}
}
public class test1 {
public static void main(String[] args) {
Person Xiaoming = new Person();
Xiaoming.speak();
}
}

 输出:我今年10岁!

成员方法可以访问成员变量。

 

class Person{

int age =10;
void speak(){
int age = 60;
System.out.println("我今年"+age+"岁!");
}
}
public class test1 {
public static void main(String[] args) {
Person Xiaoming = new Person();
Xiaoming.speak();
}
}

输出:我今年60岁!

成员变量与局部变量同名时,方法中访问到的是局部变量。

 

Java把内存分为两种:一种是栈内存。一种是堆内存。 

栈内存:在函数中定义的一些基本类型的变量和对象的引用变量。 
堆内存:由new创建的对象和数组。在堆中产生了一个数组或者对象之后,还可以在栈中定义一个特殊的变量。让栈中的这个变量的取值等于数组或对象在堆内存中的首地址。栈中的这个变量就成了数组或对象的引用变量,以后就可以在程序中使用栈中的引用变量来访问堆中的数组或者对象,引用变量就相当于是为数组或对象起的一个名称。引用变量是普通的变量,定义时在栈中分配。

 

 

 一个对象实例化过程:

Person p = new Person();
1,JVM会读取指定的路径下的Person.class文件,并加载进内存,
         并会先加载Person的父类(如果有直接的父类的情况下).
2,在堆内存中的开辟空间,分配地址。
3,并在对象空间中,对对象中的属性进行默认初始化。
4,调用对应的构造函数进行初始化。
5,在构造函数中,第一行会先到调用父类中构造函数进行初始化。
6,父类初始化完毕后,在对子类的属性进行显示初始化。
7,在进行子类构造函数的特定初始化。
8,初始化完毕后,将地址值赋值给引用变量.

 

class M {M() {System.out.println("Hello world!");}public static void main(String[] args) {M m = new M();}  }   在这个类里面,你不写M() {System.out.println("Hello world!");}也是对的,为什么呢?因为当类没有构造函数的时候,系统会自动给相关的类默认一个无参的构造函数,但是当有构造函数时,系统不会默认构造函数。构造函数的作用就是初始化的时候调用,所以你的类会输出Hello world!把new M()理解为两步:先通过new分配对象内存,然后调用M()方法。M()不是类名的使用,而是构造函数M(),否则就不会出现new M(123)之类的了。

 

转载于:https://www.cnblogs.com/thiaoqueen/p/6488858.html

你可能感兴趣的文章
[转]将Word转(保存)为带书签的PDF
查看>>
数据库信息 (表名 行数 堆 集群 非聚集)的查询
查看>>
Sharepoint项目周记三:自定义上传页面等
查看>>
Ios生产证书申请(含推送证书)
查看>>
反汇编调试内核驱动 Oops提示【原创】
查看>>
关于JSP异常的处理
查看>>
Buildroot自动化交叉编译工具:其一【转】
查看>>
推荐一个简单好用的接口——字典序列化
查看>>
Apache Commons Digester 一 (基础内容、核心API)
查看>>
SQLite详解,案例,手册
查看>>
怎样加快数据库查询速度
查看>>
搭建基于MyEclipse的Hadoop开发环境
查看>>
MySQL和Lucene索引对比分析
查看>>
LintCode: Number of Islands
查看>>
asp调用.net xml web services
查看>>
Ubuntu 进入Root方法
查看>>
PLSQL中对cursor 使用的小例子
查看>>
SAP Business One中的快捷键
查看>>
[WinAPI] 获取窗口句柄的几种方法
查看>>
《PHP对象、模式与实践》之高级特性
查看>>