面向对象之类的结构与关键字

合集下载

什么是面向对象、对象是什么、什么是类、如何使用对象、类和对象的关系

什么是面向对象、对象是什么、什么是类、如何使用对象、类和对象的关系

什么是⾯向对象、对象是什么、什么是类、如何使⽤对象、类和对象的关系⾯向对象⼀、⾯向对象 概念:⾯向对象是⼀种编程思想,使⽤编程语⾔解决现实问题的⼀种思路。

分类: ⾯向过程: C 语⾔ ⾯向对象: Java ⾯向对象的思想: ⾯向对象的思想: ⾯向过程的思想:⾃顶向下 逐步执⾏。

---> 当解决⼀件事情的时候,⾸先想到的是我该怎么去做⾯向对象思想:以对象为中⼼,使⽤对象调⽤其功能。

---> 当解决⼀件事情的时候,⾸先想到的是我该让谁帮我做。

想到的谁 ---> 对象 对象:现实⽣活中存在的真实的事物都是对象,Java 中有⼀句名⾔: 万物皆对象,⼤到宇宙、⼩到夸克在Java 的世界中都可以看成对象。

提起对象,就需要提起另⼀个概念——类。

类是对象的模板,对象是类的实例。

⼆、类 概念: 将具有相同特征的⼀类事物的共性进⾏抽取(抽取的过程叫做抽象),形成的⼀个概念叫做类。

类的抽象: 1. 怎么去描述⼀个事物,从哪些维度进⾏描述? 这个事物具有什么 ---> 属性 这个事物会做什么 ---> ⾏为 2. 怎么去描述⼀类事物的共性? 这些事物具有什么 ---> 属性 这些事物会做什么 ---> ⾏为 类和对象的关系: 类是对象的模板 对象是类的实例 类的定义: 概述: 属性 : 使⽤成员变量来进⾏描述 ⾏为 : 使⽤成员⽅法进⾏描述 语法:关键词:class语法:public class 类名{} 成员变量 定义位置:类中⽅法外 语法: 数据类型 变量名; / 数据类型 变量名 = 初始值;作⽤域:⾄少在本类 默认值: 和数组元素的默认值是⼀样的 基本数据类型 整数类型 0 ⼩数类型 0.0 字符类型空字符 布尔类型 false 引⽤数据类型 null 定义的注意事项 1. 在同⼀个类中不能定义两个同名的成员变量 2. 在同⼀个类中成员变量可以和局部变量可以重名,但是在访问的时候,局部变量优先。

[转]C++的关键字(保留字)完整介绍

[转]C++的关键字(保留字)完整介绍

[转]C++的关键字(保留字)完整介绍转载⾄:1. asmasm (指令字符串):允许在 C++ 程序中嵌⼊汇编代码。

2. autoauto(⾃动,automatic)是存储类型标识符,表明变量"⾃动"具有本地范围,块范围的变量声明(如for循环体内的变量声明)默认为auto存储类型。

从 C++ 11 开始,auto 关键字不再是 C++ 存储类说明符3. boolbool(布尔)类型,C++ 中的基本数据结构,其值可选为 true(真)或者 false(假)。

C++ 中的 bool 类型可以和 int 混⽤,具体来说就是0 代表 false,⾮ 0 代表 true。

bool 类型常⽤于条件判断和函数返回值。

4. breakbreak(中断、跳出),⽤在switch语句或者循环语句中。

程序遇到 break 后,即跳过该程序段,继续后⾯的语句执⾏。

5. case⽤于 switch 语句中,⽤于判断不同的条件类型。

6. catchcatch 和 try 语句⼀起⽤于异常处理。

7. charchar(字符,character)类型,C++ 中的基本数据结构,其值⼀般为 0~255 的 int。

这 256 个字符对应着 256 个 ASCII 码。

char 类型的数据需要⽤单引号 ' 括起来。

8.classclass(类)是 C++ ⾯向对象设计的基础。

使⽤ class 关键字声明⼀个类。

9. constconst(常量的,constant)所修饰的对象或变量不能被改变,修饰函数时,该函数不能改变在该函数外⾯声明的变量也不能调⽤任何⾮const函数。

在函数的声明与定义时都要加上const,放在函数参数列表的最后⼀个括号后。

在 C++ 中,⽤ const 声明⼀个变量,意味着该变量就是⼀个带类型的常量,可以代替 #define,且⽐ #define 多⼀个类型信息,且它执⾏内链接,可放在头⽂件中声明;但在 C 中,其声明则必须放在源⽂件(即 .C ⽂件)中,在 C 中 const 声明⼀个变量,除了不能改变其值外,它仍是⼀具变量。

php面向对象知识点

php面向对象知识点

php面向对象知识点PHP是一种广泛使用的服务器端脚本语言,它可以用来开发动态网站和 Web 应用程序。

在现代的 Web 开发中,面向对象编程已经成为了一种必不可少的技能,因此熟练掌握 PHP 面向对象编程知识点也是 Web 开发者必须具备的技能之一。

本文将围绕“PHP面向对象知识点”这个话题,从以下几个方面进行阐述。

一、类和对象在 PHP 中,类是一种用户自定义的数据类型,而对象则是类的实例。

类可以定义属性和方法,其中属性用于存储对象的信息,方法用于操作对象的状态。

创建类的语法格式如下:```class ClassName{// 属性和方法声明}```二、类的继承类的继承是一种常见的面向对象编程概念,它允许新创建的类继承已有类的属性和方法。

在 PHP 中,使用关键字 extends 来实现类的继承。

例如:```class ParentClass{public $name;public function introduce(){echo "My name is ".$this->name;}}class ChildClass extends ParentClass{public function say(){echo "Hello.";}}$childObj=new ChildClass();$childObj->name="Lily";$childObj->introduce(); // My name is Lily$childObj->say(); // Hello.```三、访问控制符在类中,访问控制符用于限制属性和方法的访问权限,它有三种类型:public、protected 和 private。

其中,public 表示公共的,任何人均可访问;protected 表示受保护的,只有类和其子类中才可以访问;private 表示私有的,只有在声明它的类内部才能访问。

面向对象知识点总结

面向对象知识点总结

⾯向对象知识点总结1、⾯向对象三⼤特征封装:封装就是隐藏对象的属性和实现细节,仅对外公开接⼝,控制在程序中属性的读和修改的访问级别,将抽象得到的数据和⾏为(或功能)相结合,形成⼀个有机的整体。

继承:继承就是⼦类继承⽗类的特征和⾏为,使得⼦类对象(实例)具有⽗类的实例域和⽅法,或⼦类从⽗类继承⽅法,使得⼦类具有⽗类相同的⾏为。

多态:多态指同⼀个⾏为具有多个不同表现形式或形态的能⼒,是指⼀个类实例(对象)的相同⽅法在不同情形有不同表现形式,使具有不同内部结构的对象可以共享相同的外部接⼝。

2、类与对象对象:对象是类的⼀个实例,有状态和⾏为。

类:类是⼀个模板,它描述⼀类对象的⾏为和状态。

⼀个类可以包含以下类型变量:(1)局部变量:在⽅法、构造⽅法或者语句块中定义的变量被称为局部变量。

变量声明和初始化都是在⽅法中,⽅法结束后,变量就会⾃动销毁。

(2)成员变量:成员变量是定义在类中,⽅法体之外的变量。

这种变量在创建对象的时候实例化。

成员变量可以被类中⽅法、构造⽅法和特定类的语句块访问。

(3)类变量:类变量也声明在类中,⽅法体之外,但必须声明为 static 类型。

3、构造⽅法每个类都有构造⽅法。

如果没有显式地为类定义构造⽅法,Java 编译器将会为该类提供⼀个默认构造⽅法。

在创建⼀个对象的时候,⾄少要调⽤⼀个构造⽅法。

构造⽅法的名称必须与类同名,⼀个类可以有多个构造⽅法。

4、封装封装是指⼀种将抽象性函式接⼝的实现细节部分包装、隐藏起来的⽅法。

封装可以被认为是⼀个保护屏障,防⽌该类的代码和数据被外部类定义的代码随机访问。

要访问该类的代码和数据,必须通过严格的接⼝控制。

修改属性的可见性来限制对属性的访问(⼀般限制为private),可通过getter和setter⽅法访问和操作类中私有成员变量。

如下代码:class BookClass{private String title;private int pageNum;BookClass(){};// 设置名称public void setTille(String title) {this.title = title;}public String getTitle() {return title;}// 设置页数public void setPageNum(int pageNum) {if (pageNum>=200) {this.pageNum = pageNum;} else {System.out.println("页数输⼊错误,图书页数不能⼩于200页,设置为默认值200");this.pageNum = 200;}}public int getPageNum() {return pageNum;}// 显⽰图书信息public void detail() {System.out.println("图书名称为:"+title+",页数为:"+pageNum);}}5、继承在 Java 中通过 extends 关键字可以申明⼀个类是从另外⼀个类继承⽽来的。

面向对象方法中的四个要素

面向对象方法中的四个要素

面向对象方法中的四个要素1.引言面向对象方法是一种程序设计的方法论,它以对象为基本构建单元,通过封装、继承和多态等概念来实现代码的重用和灵活性。

在面向对象方法中,有四个核心要素,分别是封装、继承、多态和抽象。

本文将详细介绍这四个要素的概念和作用。

2.封装封装是面向对象方法中最基本的概念之一。

它通过将数据和对数据的操作封装在一个对象中,实现了数据的隐藏和保护。

封装可以使对象的内部细节对外部不可见,只提供有限的接口来与对象进行交互。

这样做的好处是可以提高代码的安全性和可维护性,同时也方便了代码的重用。

3.继承继承是面向对象方法中的另一个重要概念。

它允许一个类继承另一个类的属性和方法,从而实现代码的重用和扩展。

通过继承,子类可以继承父类的特性,并可以在此基础上添加自己的特定实现。

这样可以减少代码的冗余,提高代码的可读性和可维护性。

3.1单继承单继承是指一个子类只能继承一个父类的特性。

在单继承中,子类只能有一个直接父类,但可以通过父类的父类一直向上延伸形成一个继承链。

3.2多继承多继承是指一个子类可以继承多个父类的特性。

在多继承中,子类可以同时拥有多个直接父类的属性和方法。

多继承可以灵活地组合多个父类的特性,但也增加了代码的复杂性,需要谨慎使用。

4.多态多态是面向对象方法中的另一个重要特性。

它允许不同的对象对同一消息作出不同的响应。

多态可以通过继承和接口实现,它提高了代码的灵活性和扩展性。

多态可以使代码更加可读和可维护,同时提高了代码的复用性。

5.抽象抽象是面向对象方法中的最高层次概念之一。

它将对象的共同特征提取出来,形成抽象类或接口。

抽象类是一种不能实例化的类,它只能作为其他类的基类来定义共同的行为和属性。

接口是一种纯粹的抽象,它定义了一组方法的规范,但没有具体的实现。

6.总结面向对象方法中的四个要素,即封装、继承、多态和抽象,是实现面向对象编程的核心概念。

通过合理运用这四个要素,可以使代码更加模块化、可扩展和可维护。

java中的50个关键字

java中的50个关键字

if:表示条件判断,一般用法if(关系表达式),后跟else或{……} else:条件转折,如if (关系表达式){语句块1}else{语句块2},如果关系表达式的值为true,则执行语句块1,否则执行语句块2.do……while……:do和while一般一起使用,用于表示循环语句。

do{……}while(关系表达式)……;当关系表达式的值为true是继续循环。

for:用于表示循环,for循环是最常使用的循环,格式for(表达式a; 表达式b; 表达式c)括号里面的书通常用于控制循环的次数,一般会用一个int类型的变量类计数,如(int i=0; i<10; i++)表达式a用于流程控制的开始值,表达式b表示循环终止条件,表达式c用于计数。

switch(条件a)case……:switch和case合起来用于表示条件分支流程。

如:while(int c) {case 1: {语句块1}case 2: {语句块2}……?????? ……case n: {语句块n}default:exit(0);}如果c为1,则执行语句块1;如果c为2,则执行语句块2;以此类推,如果c为n,则执行语句块n。

default表示除case以外出现的情况。

default:在switch……case……分支语句可知,default是在所有case条件下都不成立时使用。

用于包表示s“rc”文件夹下的当前包;如果用于类,表示只可被本文件内的其它类访问。

break:用于结束本层循环,或跳出某层循环。

continue:用于跳出本次循环,而break跳出本层循环。

Break和continue 可以实现类似于C\C++中goto语句的用法:label0:{for (int k = 0; k < 10; k++) {..........label1:for (int j = 0; j < 10; j++) {................break label0;//跳转至label0}...........label2:for (intkk = 0; kk< 10; kk++) {..............break label0;//跳至label2}}return:返回一个值,通常用于函数中,返回一个具有特定类型的值。

面向过程、面向对象、面向组件、面向服务软件架构的分析与比较

面向过程、面向对象、面向组件、面向服务软件架构的分析与比较摘要:软件开发从汇编语言、过程式语言、面向对象、面向组件发展到面向服务,每一步都表达了不断抽象、更加贴近业务实际的发展趋势。

当前软件发展正处于从面向组件思想向面向服务思想的跨越阶段。

本文深入分析了面向过程、面向对象、面向组件、面向服务架构,得出相关的优缺点。

关键字:面向过程,面向对象,面向组件,面向服务1 背景当前,信息系统的发展越来越明显地呈现出以下特征:软件系统越来越庞大,但是软件系统内部组成模块的规模却越来越小;软件系统的功能越来越复杂,但是系统的开放性却越来越好。

信息系统软件正向着不依赖于特定的硬件和操作系统以及具有高度可重用性的方向发展。

在这种情况下,人们对这种大型复杂软件产品的质量和开发速度都有了更严格的要求,传统的开发方法已经难以满足这种需求。

首先,我们来分析一下几种传统的系统开发方法。

1〕自底向上法自底向上法出现于早期的电脑管理应用系统,即在进行系统分析和设计时自下而上,先从底层模块做起,然后逐步完成整个系统。

自底向上法使得系统的开发易于适应组织机构真正的需要;有助于发现系统的增长需要,所获得的经验有助于下一阶段的开发,易于控制和管理。

但由于方法的演变性质,自底向上法使系统难以实现其整体性;同时由于系统未进行全局规划,数据一致性和完整性难以保证;而且为了保证系统性能的需求,往往要重新调整,甚至重新设计系统。

2〕自顶向下法随着信息系统规划的扩大和对开发经验的总结与归纳,自顶向下的系统分析方法论逐步得到了发展和完善。

自顶向下法要求开发者首先制定系统的总体规划,然后逐步别离出高度结构化的子系统,从上至下实现整个系统。

运用这类方法可以为企业或机构MIS的中期或长期发展规划奠定基础,同时支持信息系统的整体性,为系统的总体规划、子系统的协调和通信提供保证。

但它同样也存在缺点:对系统分析、设计人员要求较高,在大系统中,对下层系统的实施往往缺乏约束力,开发的周期长,系统复杂,成本较高。

面向对象的三大特性(封装-继承-多态)

一丶封装1 权限修饰符可以用来修饰成员变量和成员方法,对于类的权限修饰只可以用public和缺省default。

被public修饰的类可以在任意地方被访问;default类只可以被同一个包内部的类访问。

权限由大到小:public protected default(不写) private被private修饰的成员只能在本类中访问,外界不能访问2 set()/get()方法(1)this关键字a.可以用来调用变量,方法,构造方法;b.this.xx 理解为调用当前类的xx。

(2)成员变量和局部变量1)在类中的位置不同a:成员变量:在类中,方法外b:局部变量:在方法声明上(形式参数),或者是在方法定义中2)在内存中的位置不同a:成员变量:在堆内存b:局部变量:在栈内存3)生命周期不同a:成员变量:随着对象的创建而存在,随着对象的消失而消失b:局部变量:随着方法调用而存在,随着方法的调用结束而消失4)初始化值不同a:成员变量:有默认值b:局部变量:必须初始化值,否则报错!(在使用它之前,没有初始化) (3)set()/get()方法当成员变量被private修饰时,不在本类中无法直接访问,便需要set()/get()方法来解决这个问题3 封装性封装:是面向对象的第一大特性,所谓封装,就是值对外部不可见(一般而言被private修饰),外部只能通过对象提供的接口(如set()/get()方法)来访问。

封装的好处:a.良好的封装能够减少耦合;b.类内部的结构可以自己修改,对外部影响不大;c.可以对成员进行更精准的控制(防止出现与事实不符的情况);d.影藏实现细节。

注意:在开发中,类的成员变量全部要进行封装,封装之后通过set()/get()方法访问。

二丶继承extends1 实现:通过 class Zi extends Fu{} 实现类的继承(1)子类继承父类,父类中声明的属性,方法,子类都可以获取到;当父类中有私有的属性方法时,子类同样可以获取到,由于封装性的设计,使得子类不能直接调用访问。

《面向对象程序设计》知识点

《面向对象程序设计》知识点《面向对象程序设计》是计算机科学中的重要概念,它是一种软件开发方法,将软件模型作为一个系统的集合来设计、分析和实现。

本文将重点介绍面向对象程序设计中的关键知识点,包括面向对象的基本概念、类与对象、继承与多态、封装和抽象等内容,以便读者全面了解和掌握面向对象程序设计的核心概念和方法。

一、面向对象的基本概念1. 面向对象编程的起源:面向对象编程(Object-Oriented Programming,简称OOP)起源于20世纪60年代,是一种基于对象的软件开发范式,它将数据和操作数据的方法组合到一个对象中,以及通过对象之间的交互来完成程序的设计。

2. 面向对象的特征:面向对象的程序设计具有封装、继承和多态的特征。

封装指的是将数据和处理数据的方法封装在对象中,继承指的是子类可以继承父类的属性和方法,多态指的是同一操作作用于不同对象上时可以有不同的行为。

3. 面向对象的优势:面向对象的程序设计具有代码复用性高、可维护性强、扩展性好、可靠性高等优势,可以提高程序的设计效率和质量。

二、类与对象1. 类的定义:类是一种抽象数据类型,用来描述具有相同属性和行为的对象的集合。

类用来创建对象的模板,包含数据成员和成员函数。

2. 对象的创建:对象是类的一个实例,是具体的数据和行为的封装体。

通过类实例化,可以创建多个对象来表示真实世界的实体。

3. 类的成员:类包含数据成员和成员函数。

数据成员表示对象的属性,成员函数表示对象的行为,可以进行数据的操作和处理。

三、继承与多态1. 继承:继承是指一个新类从现有类中派生出来,并且拥有现有类的属性和行为。

继承可以实现代码的复用,并且可以建立类之间的关系。

2. 多态:多态是指同一操作作用于不同对象上时可以有不同的行为。

多态通过虚函数和动态绑定实现,可以使程序具有更好的灵活性和扩展性。

四、封装和抽象1. 封装:封装是指将数据和数据的操作封装在类的内部,外部无法直接访问和修改类的数据。

Java面向对象的三大特征


public class Demo2 {
public int num;
public Demo2(){ this(1);
}
// this关键字调用类中的其他构造函数
public Demo2(int a){
this.fun();
// this关键字调用类中的其他方法
System.out.println(a);
}
在子类中重写:
public class Son extends Father { /** * 一个跟父类方法一样的方法 */ public void say(){ System.out.println("我会说英语"); } public static void main(String[] args) { Son son = new Son(); son.say(); }
/** * 父类中的成员方法 */ public void say(){
System.out.println("我会说话"); }
public void eat(){ System.out.println("我会吃饭");
} }
2)、编写子类,继承父类
a.子类继承父类时只能继承一个父类
b.继承的关键字 extends
}
二、继承
1、继承的概念和特点
概念:
继承是Java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或类从父 类继承方法,使得子类具有父类相同 的行为。
特点:
继承鼓励类的重用 继承可以多层继承 一个类只能继承一个父类 父类中private修饰的不能被继承 构造方法不能被继承
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

class DataSwap{ public int a; public int b; } public class TestTransfer1 { public static void swap(DataSwap ds){ int tmp = ds.a; ds.a = ds.b; ds.b = tmp; System.out.println("swap方法里,a Field的值是" + ds.a + ";b Field的值是" + ds.b); } public static void main(String[] args) { DataSwap ds = new DataSwap(); ds.a = 6; ds.b = 9; swap(ds); System.out.println("交换结束后,a Field的值是" + ds.a + ";b Field的值是" + ds.b); } }
方法的参数传递 —基本数据类型的参数传递
方法的参数传递 —引用数据类型的参数传递
方法的参数传递 —引用数据类型的参数传递
方法的参数传递
public class TestTransfer { public static void swap(int a , int b){ int tmp = a; 请输出结果 a = b; b = tmp; System.out.println("swap方法里,a的值是" + a + ";b的值是" + b); } public static void main(String[] args) { int a = 6; int b = 9; swap(a , b); System.out.println("交换结束后,变量a的值是" + a + ";变量b的值是" + b); } }
order3:0x3355 order2:0x3344 栈stack
order_aa
order_cc
字符串常量池
class Person{ public void setName(String n){ name = n; } } 0x8899 new Person(); n:刘蕾瑶 p3:0x2233 p2:0x8899 p1:0x2233 栈:对象的引用;局 部变量 name:null 刘蕾瑶 age:0 0x2233 new Person(); name:null 李文珠 亓东旭 age:0 22
面向对象编程之 类的结构与关键字
讲师:宋红康
新浪微博:尚硅谷-宋红康
JavaSE知识图解
JAVA发展历程 JAVA环境搭建 基础程序设计
Eclipse使用 泛型
数据类型
运算符
流程控制
数组
枚举 装箱/拆箱 可变 参数 JAVA 新特 性 类和 对象 属性
面向对象编程
方法
三大 特性
接口
设计模式
应用程序开发
<3/5> Java类的结构的内存解析
内存分为4部分:栈、堆、方法区、静态域
栈:对象的引用名,数组的引用名,局部变量(方法的 形参,方法内定义的变量,代码块中定义的变量)
堆:new 出来的”东西”(包括类的成员变量) 方法区:(含字符串常量池) 静态域:静态的field
堆 heap
注意:二者在初始化值方面的异同: 同:都有生命周期 异:局部变量除形参外,需显式初始化。
2.方 法(method)
什么是方法(函数)? 方法是类或对象行为特征的抽象,也称为函数。 Java里的方法不能独立存在,所有的方法必须定义在类里。
修饰符 返回值类型 方法名(参数类型 形参1,参数类型 形参2,….){ 程序代码 return 返回值; } 其中: 形式参数:在方法被调用时用于接收外部传入的数据的变量。 参数类型:就是该形式参数的数据类型。 返回值:方法在执行完毕后返还给调用它的程序的数据。 返回值类型:方法要返回的结果的数据类型。 实参:调用方法时实际传给函数形式参数的数据。 如何理解方法返回值类型为void的情况 ?
<5/5> Java类中关键字的使用
定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词) 特点:关键字中所有字母都为小写
分类
用于定义数据类型的关键字 用于定义数据类型值的关键字 用于定义流程控制的关键字 用于定义访问权限修饰符的关键字 用于定义类,方法,变量修饰符的关键字 用于定义类与类,类与接口之间关系的关键字 用于定义建立实例及引用实例,判断实例的关键字 用于异常处理的关键字 用于包的关键字 其他修饰符关键字
3.其它关键字
<1/5> Java类及类的成员结构
现实世界中的生物不管多大、多小,都是由细胞构成的。 同理,Java代码世界是由诸多个不同功能的类构成的。 现实世界中的细胞又是由什么构成的呢?细胞核、细胞质 等!那么,Java中用类class来描述事物也是如此 属 性:对应类中的成员变量 行 为:对应类中的成员方法 Field = 属性 = 成员变量 Method = (成员)方法 = 函数
3.构造器(constructor)
语法格式: 修饰符 类名 (参数列表) { 初始化语句; } 构造器的特征
它具有与类相同的名称 它不声明返回值类型。(与声明为void不同) 不能被static、final、synchronized、abstract、native修饰,不能有return语 句返回值
变量的分类:成员变量与局部变量
在方法体外,类体内声明的变量称为成员变量。 在方法体内部声明的变量称为局部变量。
实例变量(不以static修饰) 成员变量
所有 变量
局部变量
类变量(以static修饰) 形参(方法签名中定义的变量) 方法局部变量(在方法内定义) 代码块局部变量(在代码块内定义)
<4/5> Java的参数传递机制
方法,必须有其所在类或对象调用才有意义。若 方法含有参数: 形参:方法声明时的参数 实参:方法调用时实际传给形参的参数值 Java的实参值如何传入方法呢? Java里方法的参数传递方式只有一种:值传递。 即将实际参数值的副本(复制品)传入方法内,而 参数本身不受影响。
Person p1 = new Person(); = "李文珠"; p1.age = 22; Person p2 = new Person(); Person p3 = p1; = “亓东旭”; p2.setName(“刘蕾瑶”);
堆innerclass)
在Java中,允许一个类的定义位于另一个类的内部,前者称为内 部类,后者称为外部类。
Inner class一般用在定义它的类或语句块之内,在外部引用它时 必须给出完整的名称。
Inner class的名字不能与包含它的类名相同;
Inner class可以使用外部类的私有数据,因为它是外部类的成员, 同一个类的成员之间可相互访问。而外部类要访问内部类中的 成员需要:内部类.成员或者内部类对象.成员。
public void second(Value v, int i) { i = 0; v.i = 20; Value val = new Value(); v = val; System.out.println(v.i + " " + i); } }
i:15
val:0x3344 i:5 0 v:0x1122 0x3344 v:0x1122 i:5 t: i:15 25 20 0x1122
4.代码块(或初始化块)
初始化块(代码块)作用:
对Java对象进行初始化
一个类中初始化块若有修饰符,则只能被 static 修饰,称 为静态代码块 (static block) ,当类被载入时,类属性的声 明和静态代码块先后顺序被执行,且只被执行一次。 static块通常用于初始化static (类)属性 class Person { public static int total; static { total = 100;//为total赋初值 } …… //其它属性或方法声明 }
构造器的作用:创建对象;给对象进行初始化
如:Order o = new Order(); Person p = new Person(Peter,15); 如同我们规定每个“人”一出生就必须先洗澡,我们就可以在“人”的构造方法中 加入完成“洗澡”的程序代码,于是每个“人”一出生就会自动完成“洗澡”,程 序就不必再在每个人刚出生时一个一个地告诉他们要“洗澡”了。
构造器
根据参数不同,构造器可以分为如下两类:
隐式无参构造器(系统默认提供) 显式定义一个或多个构造器(无参、有参)
注 意:
Java语言中,每个类都至少有一个构造器 默认构造器的修饰符与所属类的修饰符一致 一旦显式定义了构造器,则系统不再提供默认构造器 一个类可以创建多个重载的构造器 父类的构造器不可被子类继承
方法的参数传递
请输出结果
class Value { int i = 15; } class Test { public static void main(String argv[]) { Test t = new Test(); t.first(); } public void first() { int i = 5; Value v = new Value(); v.i = 25; second(v, i); System.out.println(v.i); }
类是对一类事物描述,是抽象的、概念上的定义
相关文档
最新文档