《java类与对象的创建.docx》由会员分享,可在线阅读,更多相关《java类与对象的创建.docx(17页珍藏版)》请在优知文库上搜索。
1、java类与对象的创建试类.类类类类修1.类以Cl不能且第(1(2me、2.类编号类能。卜igh和试验四类和对类的定义类是组成Java程类的实现包括两修饰符class类类/*类体的内容类声明以下是一个类声IaSSPeOPIe成为能是Java中的关一个字母不能1)假如类名使2)类名最好容AlneriCanGam类体编写类的目的是、以及它们类体的内容由两卜.面是一个类名和Ia加Urea,方象的创程序的基本要素两部分:类声明类名名extends容容*/声明的例子。为类声明,Peo关键字,要符合能是数字。但给用拉丁字母,易识别,当类me.HelloChina是为了描述一类们之间的内容称两部分构成:一名
2、为TraPeZia的方法定义部分定创建建素。类封装r-明和类体。基本父类名(ople是类名。习合标识符规定,给类命名时,最那么名字的首名由几个单词a等。类事物共有的属称为类体,大括部分是变量的的类,类体内容定义了两个方法一类对象的状态本格式为:习惯上,类名的即类的名字可最好遵守下列规首写字母运用大词复合而成时属性和功能,描括号之间的内容的定义,用来刻容的变量定义部法:getrea态和方法。类用的第一个字母大可以由字母、下规则:大写字母,如H,每个单词的描述过程由类体容称为类体的刻画属性;另一部分定义了4个和SelHigho用来定义对象的大写,但这不是下划线、数字或Hell。、Time、P首写字
3、母运用体来实现。类声内容。一部分是方法的个float类型变的模板。是必需的。类的或美元符号组成People等。大写,如Beij声明之后的一对的定义,用来刻变量:top.bollo的名字成,并ingTi对大括刻画功。m、h二二.对对1.对创(1一类类如这(2使造方例对象对象的创建创建一个对象包1)对象的声明一般格式为:类的名字对象名如:这里People是类2)为声明的对运用new运算符方法(你肯定还例1:包括对象的声明。名字字;类的名字,ZhU象安排内存。符和类的构造方还记得构造方法明和为对象安排Ubajie是我们声方法为声明的对法的名字必需和配内存两个步骤声明的对象的名对象安排内存,和类名相同
4、这一骤。名字。假如类中没有一规定),如:有构造方法,系系统会调用默认的构2.对对这些通例程类在上Ong调3.对注假如类里对象的运用对象不仅可以改些方法可以产生通过运用运算符例2:程序执行结果如类中的方法可以上述代码中,当调用SPeak方法对象的引用和实里定义了一个或变更自己变量的生肯定的行为。符.,对象可以如下:以操作成员变量对象ZhUbajie法后,也将自己实体或多个构造方法的状态,而且还以实现对自己的量,当对象调用调用SPeak方法己的头修改成:法,那么Java不还拥有了运用创的变量访问和方该方法时,方法法后,就将自己歪着头。不供应默认的构创建它的那个类方法的调用法中出现的成员己的头修改成
5、:构造方法。类中的方法的能员变量就是指该:歪者头。同实力,对象通过该对象的成员变同样,对象SUn过运用变量。nwuk当存放再那假Pl把p2是给P14-1-2因空对运行检查I有,自己体4.参当的所的in向参(1当用类创建一个放着引用,以确再以例1中的P那么内存模型如假如在程序中使=p2:把p2的引用(p是两个名字,但1的变量。这时2所示:因此,假如一个对象,空对象不行时会出现异样查。因此,在编注事实上,假如发觉这样己检查哪些对象所占有的内存参数传值当方法被调用时全部参数都是传nt型参数X传递参数传值的变D基本数据类个对象时,类中确保实体由该对Point类为例,如图4-1-1所示运用了下述赋值p2
6、在内存中的但在系统看来它时假如输出P1.个类创建的两个不能运用,即不常:NUuPOinterE编写程序时要避JaVa有所谓垃样的实体,就释象应当释放内存存就会被释放。时,假如方法有传值的,也就递一个int值,量的值。型参数的传值中的成员变量被对象操作运用。假如分别运用:图4-1值语句:的名字)赋给了它们的名字是一X的结果将是图4-1个对象具有相同不能让一个空对Exceptione由于避开运用空对象垃圾收集机制释放实体占有的存。在上述程序中有参数,参数必是说,方法中那么参数X得被安排内存空间类的构造方法IT对象内存了pl,因此Pl和一个:OXDDO系6,而不是12,卜2对象内存同的引用,那么对象
7、去调用方法于对象是动态地象。制,这种机制周的内存。因此,中,当将P2的必须要实例化,参数变量的值得到的值是传递问,这些内存空Point(intx,in模式1和p2木质上是系统将取消原来,即pl、p2有模式2么就具有完全相法产生行为。假地安排实体,所周期地检测某个Java编程人员引用赋给pl后即参数变量必值是调用者指定递值的副本。方空间称为该对象nty)创建了两个是一样的了。虽来安排给Pl的有相同的实体。相同的实体。没假如程序中运用所以Java的编个实体是否已不员不必像C+程后,最初安排给必需有详细的值的值的副本。方法假如变更参象的实体,而对个对象pl.p2虽然在源文件中的内存,即释放内存模式变
8、成没有实体的对象用了空对象,程编译器对空对象不再被任何对象程序员那样,要给对象Pl的变量值。在JaVa中,例如,假如向参数的值,不会对象中2:中Pl、放安排成如图象称为程序在象不做象所拥要时刻量(实方法向方法会影响对参数(2Ja变量如变量如图仔例对于基本数据类数传递一个float2)引用类型参ava的引用型数量所引用的实体假如变更参数变量假如具有同样4-1-3所示:细致阅读下面的例3:类型的参数,向t值,但可以向数的传值数据包括对象、体。变量所引用的实样的引用,就会的例3,特殊注向该参数传递的向double型参数数组以及接口实体,就会导致会用同样的实体图4-1-3留意引用类型参的值的级别不行数
9、传递一个flo口。当参数是引致原变量的实体体。但是,变更引用类型参数参数和基本数据可以高于该参数Oat值。引用类型时,传体发生同样的变变参数的引用不数的传值据类型参数的区数的级别,比如传值传递的是变更,因为,两不会影响向其传区分。如,不行以向i是变量的引用而两个同类型的引传值的变量的引nt型而不是引用型引用,st被共享.S类量,中完互不在态变在静atic修饰符可以用static修饰用StatiC修饰用static修饰被static所修饰享。只要这个类StatiC变量类的成员变量有叫实例变量。静态变量在内完成静态变量的对于实例变量不影响。在类的内部,可变量。例如:在以下Scope类静态变以用来修
10、饰类的饰的成员变量表饰的成员方法表饰的程序代码块的成员变量和类被加载,Java有两种:一种是内存中只有一个的内存安排。可量,每创建一个可以在任何方法类中定义了静态变量与的成员变量、成表示静态变量,表示静态方法,块表示静态代码成员方法表明虚拟机就能根是static修饰的变个拷贝,运行时可以干脆通过类个实例,就会为法内干脆访问静态变量a,在m与静态成员方法和代码可以干脆通过可以干脆通过码块,当Java虚归某个类全部依据类名在运行变量,叫类变量时Java虚拟机类名访问静态变为实例变量安排静态变量;在其main。方法中采方法的码块。过类名来访问。过类名来访问。虚拟机加载类时,它不依葬于行时数据区的方量
11、或静态变量:机只为静态变量变量。配一次内存,实例其他类中,可以用多种方式访的设计时,就会执行该类的特定实例方法区内定位到:另一种是没有安排一次内存例变量可以在内以通过某个类的问这个变量,计该代码块。例,被类的全部到它们。有被static修饰存,在加载类的内存中有多个拷的类名来访问它它的最终取值有实例饰的变的过程拷贝,它的静值为4。St全局阿。出电们。下投票同一此另的选以atic变量在某种变量,静态变能被类的全部假如类的全部例如某种类型电压为15V,这下面再用详细例票总数达到100一个数据,即投此外,最大投票另外,为了防止选民的对象。以下代码是Vot种程度上与其他变量供应了这一有实例共享,可有实
12、例都包含一的变压器Tran这是对全部变压例子说明静态变时,就停止投投票次数,因此票数100是一个止选民重复选票ter类的源程序他语言(如C语一功能,他有如可作为实例之间一个相同的常量nsformer类,它压器TranSforlne变量的用法。假投票。从这个问此把它定义为静个适用于全部选票,必需保存已序。语言)中的全如下两个作用。间进行沟通的共量属性,可把这它所接受的最小er对象适用的属假定有一群选民问题领域中抽象静态类型。选民的常量,因已经参加投票的局变量相像。共享数据。这个属性定义为小输入电压为1属性,可在Tra民进行投票,每象出Voter类,因此把它定义为的选民的信息,Java语言不支为静
13、态常量类型IlOV,最大输入ansformer类中每个选民只允许代表选民。全部为静态常量类型可采纳一个集支持不屈于任何型,从而节约内入电压为220V中按如下方式定许投一次票,并有的选民都会型。集合来存放已经何类的内存空V,输定义它并且当变更经投票在该程在Voter类的m程序的运行结果main。方法中,先果如下:先创建了3个选民,然后让他们依次投票,其中Tom还试图进行重复投票。二二.s成量一1.静因也不Voter选民不序编StatiC方法成员方法分为静一样,不须要创静态方法可访问因为静态方法不不能干脆访问所r类中,CoUnt民对象的名字。不妨用反证法来译胜利,那么静态方法和实例创建类的实例,问
14、的内容不须要通过它所所属类的实例变变量是静态变以下程序在V来证明在printV当Java虚拟机例方法。用stat可以干脆通过所属的类的任何变量和实例方法量,表示全部VOter类的静态方VoIeReSUl1()方法机在执行以下代tic修饰的方法过类名来访问。何实例就会被调法,但是可以直的选民的共同方法PrinlVoIe法中不能干脆访代码时会遇到问叫静态方法,例如:调用,因此在静干脆访问所属类投票数,nameerResult()T-脆访问name变量问题。或类方法。静静态方法中不能类的静态变量和e变量是实例变接访问count和量或者this.nam静态方法也和静能运用this关键和静态方法。例变量
15、,表示每个和name变量。me变量。假定以静态变键字,例如在个详细以上程Ja而对含V找到由假如那r对象以来访静su实例2.实如静态OUnIava虚拟机在执对于name变量或Voter类信息的方name变量或由此可见,在静果程序中出现这那么假如PrintV象的引用来访问以上程序从VOIe访问name变量,静态方法中也不UPCr关键字用来相关,那么和实例方法可访问假如一个方法没态方法、实例变静态变量、V。执行静态方法P或this.name变方法区找寻该量this.name变量静态方法中不能这样的操作,JavVoteResultO方法问name属性。ers集合中依次,使Java虚拟不能运用super来访问当前Su和this关键字一问的内容没有用static修量和实例方法Oter静态变量和PrintVoteReSUIt变量,Java虚拟量,而不会到存量。能干脆访问所属va编译器会生法须要访问某个例如:次取出每个VOt机能明确知道关键字。例如Ub实例从父类样,在静态方饰,那么它就是。例如Voter类和name实例变t()时,它能顺当拟机无从推断到存放全部Vote属类的实例变量生成以下编译错个特定Voter对ter对象,然后打道究竟访问