6Java类、对象、构造器,引用类型内存基本知识,引用类型的值传递
2017-11-11 16:05
357 查看
6Java类、对象、构造器,引用类型内存基本知识,引用类型的值传递
1、程序设计史:
过程式程序设计:C全是函数
结构化程序设计:vc vb delphi 有点类还有函数库
面向对象程序设计OOP JAVA C# SMALLTALK 纯类
2、对象(object)万事万物皆是对象
Orient object programe OOP面向对象编程
3、面向对象三大特征:(重点)
封装(encapsulation)
继承(inheritance)
多态(polymorphism)
4、Class类
是对一类事物的描述 是抽象的概念的。
Object对象,是实际存在的该类事物的每个个体,也叫实例instance。
类描述了对象包括的数据特征(成员属性)和行为特征(方法)。
5、属性:attribute property(静态的)
方法:method(动态的)
静态的:static
动态的:dynamic
6、getter和setter方法
setter方法用来获取信息来给所属属性赋值,例如:属性为String name
setter方法为:
public void setName(String name1){
name=name1;
}
将name1赋值给name
getter方法用来获取所属属性的值,例如属性为String name
getter方法为:
public String getName(){
return name;
}
获得name;
7、构造器 constructor—-析构器destroy
用处:用来初始化类的属性特征。
特点:对象初始化时首先执行,无返回值,与类同名。
注意:构造器可以重载,默认不写的时候系统自动给出一个无参的构造器,如果自己定义了新的且没有写默认的构造器,则不能调用系统给出的默认构造器。
调用过程:即实例化的过程
ClassName ObjectName=new constructor();
返回的是NULL;
左侧为栈右侧为堆;栈内保存堆首地址。
8、静态的方法不是随着对象的消失而消失的,而是随着类的消失而消失的。动态的方法是随着对象的消失而消失的。所以方法用动态的。
※在静态的类中用动态的方法必须初始化对象。
9、为了封装特性,用private属性来限定变量,进行封装。
然后用Public的方法来给出接口。
10、 1.当基本类型做形参,传递的是值,无论怎么改,本身
不受影响。值传递
2.当引用类型做形参,传递的是地址,因此自身也改变了。引用传递
3.当引用类型做形参,且是常量
【String,Integer,Double,Float,Character,Long,Boolean,Byte,Short】的时候,由于常量不能改变,因此他们传递进去的是他个人的副本,因此程序内修改的是他的副本,所以自己本身没变,看似向值传递,实质仍然是引用传递。
1、程序设计史:
过程式程序设计:C全是函数
结构化程序设计:vc vb delphi 有点类还有函数库
面向对象程序设计OOP JAVA C# SMALLTALK 纯类
2、对象(object)万事万物皆是对象
Orient object programe OOP面向对象编程
3、面向对象三大特征:(重点)
封装(encapsulation)
继承(inheritance)
多态(polymorphism)
4、Class类
是对一类事物的描述 是抽象的概念的。
Object对象,是实际存在的该类事物的每个个体,也叫实例instance。
类描述了对象包括的数据特征(成员属性)和行为特征(方法)。
5、属性:attribute property(静态的)
方法:method(动态的)
静态的:static
动态的:dynamic
6、getter和setter方法
setter方法用来获取信息来给所属属性赋值,例如:属性为String name
setter方法为:
public void setName(String name1){
name=name1;
}
将name1赋值给name
getter方法用来获取所属属性的值,例如属性为String name
getter方法为:
public String getName(){
return name;
}
获得name;
7、构造器 constructor—-析构器destroy
用处:用来初始化类的属性特征。
特点:对象初始化时首先执行,无返回值,与类同名。
注意:构造器可以重载,默认不写的时候系统自动给出一个无参的构造器,如果自己定义了新的且没有写默认的构造器,则不能调用系统给出的默认构造器。
调用过程:即实例化的过程
ClassName ObjectName=new constructor();
返回的是NULL;
左侧为栈右侧为堆;栈内保存堆首地址。
8、静态的方法不是随着对象的消失而消失的,而是随着类的消失而消失的。动态的方法是随着对象的消失而消失的。所以方法用动态的。
※在静态的类中用动态的方法必须初始化对象。
9、为了封装特性,用private属性来限定变量,进行封装。
然后用Public的方法来给出接口。
10、 1.当基本类型做形参,传递的是值,无论怎么改,本身
不受影响。值传递
2.当引用类型做形参,传递的是地址,因此自身也改变了。引用传递
3.当引用类型做形参,且是常量
【String,Integer,Double,Float,Character,Long,Boolean,Byte,Short】的时候,由于常量不能改变,因此他们传递进去的是他个人的副本,因此程序内修改的是他的副本,所以自己本身没变,看似向值传递,实质仍然是引用传递。
相关文章推荐
- 6、Java类、对象、构造器、引用类型内存基本知识、引用类型值传递
- 基本类型和引用类型的变量在内存存放的内容及对象
- Java传递基本类型:值传递,对象作为参数:引用传递
- 基本数据类型和引用数据类型的内存传递的变化
- JS基本数据类型和引用类型的参数传递详细分析
- java基本数据类型传递与引用传递区别详解
- Unit02: 重载与缺省参数 、 内联与动态内存分配 、 引用 、 显式类型转换 、 类和对象
- 基本引用类型和对象引用类型区别
- C#学习基本概念之传递引用类型参数(二)
- C++ 基础:传参的基本形式-基本类型,对象,引用和指针
- Java第五课 Java的常用包,"=="和"equals"的用法,基本数据类型与引用类型,对象的克隆。
- js--3.对象-2.基本和引用数据类型
- .NET的堆和栈02,值类型和引用类型参数传递以及内存分配
- (基本数据类型值+对象)参数传递方式+对象的引用和拷贝
- JavaScript高级程序设计之变量、作用域和内存问题之基本类型和引用类型的值第4.1讲笔记
- 基本类型和引用类型值传递的理解
- JVM内存回收区域+对象存活的判断+引用类型+垃圾回收线程
- Java之基本类型和引用类型、引用传递和值传递、“==”和equals()
- java基本数据类型和引用数据类型的调用传递的区别
- 小example说明java的值传递和引用传递,基础变量和对象在内存里的区别,堆栈