Java 学习
来源:互联网 发布:php rbac 编辑:程序博客网 时间:2024/05/18 13:24
参数传递:
在Java语言中,对于哪些数据类型是按值传递,哪些数据类型是按址传递都作出了硬性规定,如下所示:
l 按值传递的数据类型:八种基本数据类型和String
l 按址传递的数据类型:除String以外的所有复合数据类型,包括数组、类和接口
面向对象思想:
面向对象思想的基础是将相关的数据和方法放在一起,组合成一种新的复合数据类型,然后使用新创建的复合数据类型作为项目的基础。
构造方法:
构造方法和方法无任何关系,它们的功能不同,声明和调用的语法也不相同。
构造方法的功能:实现类这种数据类型的变量的初始化。 类是一种复合数据类型,其变量比较复杂,需要专门对该类变量进行初始化。因此出现了构造方法。
方法实现的是逻辑功能,对应于逻辑上的算法,更多的是实现程序逻辑。
所以构造方法是语法结构,而方法是逻辑功能,两者之间根本无关。
构造方法声明的语法格式:
访问控制符 构造方法名称(参数列表){
构造方法体;
}
示例:
public class Box{
int length;
int width;
int height;
public Box(){
length = 10;
width=10;
height =10;
}
public Box(int l, int w, int h){
length =l;
width = w;
height= h;
}
}
Box类声明两个构造方法,一个没有参数,一个包含三个int类型的参数。
对象:
对象(Object)是面向对象技术的核心,按照面向对象的思考方式,现实中的每个实体都是一个对象,比如一个人、数据库中的一张表等,总结起来, 就是面向对象技术中的经典语句——万事万物皆对象。
面向对象提供了一种思考方式,降低了认知的复杂性;
也是一种设计方式,通过模块化设计,降低了设计的复杂性。
语法角度来看,对象是一个复杂的变量。其内部包含属性(数据),也包含方法(功能)。
java中把复合数据类型(包括数组、类和接口)的变量都称作对象。
对象的语法有四个方面:对象声明、对象初始化、引用对象中的属性和引用对象中的方法。
对象声明
数据类型 对象名;
此处数据类型必须为复合数据类型,基本数据类型声明的结构只能为变量,而不能为对象。
对象初始化
对象初始化都是通过直接或间接调用构造方法实现。对象的初始化与声明可以写在一起,其语法格式如下:
引用对象中的属性
引用对象中的某一个属性:对象名.属性名
引用对象中的方法
引用对象内部的功能:对象名.方法名(参数)
对象的存储
对象是一个复合数据类型的变量,其存储方式和一般变量的存储方式不同。
在Java执行环境中,存储区域一般分为两类:
1 栈内存 该区域存储基本数据类型
2 堆内存 存储实际的对象内容
面向对象三大特性
封装性
将复杂的内部结构隐藏起来,用一个统一的名字来使用。在面向对象技术中,类是典型的封闭性的体现,类将一组属性和功能组合成一个统一的结构,并使用odqk来代表该结构。
优势:隐藏每个类的内部实现,从而既方便项目的分解也降低了项目的难度。
继承性
当类与类之间存在包含关系,即一个类是另一个类的一种时,可以使用继承。
优势:充分利用了已有类的结构和功能,极大地降低了类内部的代码重复。
多态性
是面向对象技术中最灵活的特性,其依赖继承特性,可以把多态理解为继承性的扩展或者深入。
优势:增强项目的可扩展性,提高代码的可维护性
继承语法
extends 关键字
继承说明
两个类具有继承关系,不同点:
1. 子类拥有父类所有属性,
子类继承父类所有属性,在父类中声明的属性在子类内部可以直接调用。说明:访问控制符限制无法使用
2. 子类拥有父类所有方法,
子类继承父类所有方法,在父类中声明的方法在子类内部可以直接调用。说明:访问控制符限制无法使用
3. 子类不拥有父类的构造方法
子类不继承父类的构造方法
4. 子类类型是父类类型
子类类型的对象可以自动转换为父类类型的对象,父类类型的对象则需要强制转换为子类的对象,转换的语法与基本类型转换语法相同。
继承需要注意的问题:
1. 方法覆盖:在子类内部重新实现父类中的方法,称为方法覆盖(override).
优点:保持了类的结构统一,使项目整体结构保持统一,便于项目的维护。
2. 属性覆盖没有必要
多态性:
对象类型的多态性
指声明对象的类型不是对象的真正类型,而对象的真正类型由创建对象时调用的构造方法进行决定。
e.g. SuperClass sc = new SubbClass1();
这里声明了一个SuperClass类型的对象sc,然后使用SuperClass的子类SubbClass1的构造方法进行创建,因为子类型的对象也是父类类型的对象。
对象类型的多态性极大地方便了对象的存储和传递.
对象方法的多态
对象的方法的多态基于方法的覆盖,也就是该对象调用的方法具体是子类的方法还是父类的方法,由创建对象时使用的构造方法决定,而不是由声明对象时的类型决定.
- 学习JAVA
- Java学习
- JAVA学习
- 学习Java
- java学习
- Java学习?
- Java学习
- JAVA学习
- JAVA学习
- java学习
- 学习java
- JAVA学习
- JAVA学习
- java学习
- 学习java
- 学习JAVA
- 学习JAVA
- java学习
- 无题~~~
- 使用 MinGW 编译 C/C++ 写的 python 扩展
- 对list集合中的对象按照字段属性排序
- Eclipse代码 颜色 字体
- 小鱼:你的网站是局域网吗?
- Java 学习
- 计算大数阶乘
- 算法的时间复杂度
- java学前须知
- Android高手进阶教程(十七)之---Android中Intent传递对象的两种方法(Serializable,Parcelable)!
- RO代码跟踪 之 应用RTTI
- 什么是RFID技术呢
- diffserv测试脚本(方路平书例4.6脚本)
- 疯狂的“野鸭”