类和对象的简单培训

类和对象的简单培训

ID:38718988

大小:377.50 KB

页数:9页

时间:2019-06-18

类和对象的简单培训_第1页
类和对象的简单培训_第2页
类和对象的简单培训_第3页
类和对象的简单培训_第4页
类和对象的简单培训_第5页
资源描述:

《类和对象的简单培训》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、类与对象:(class&object)类是对某一类事物的描述,是抽象的、概念上的定义;(抽象)对象是实际存在的该类事物的每个个体,因而也称实例(instance)。(具体)一.类:1.格式:[类的修饰符]class类名[extends父类名]{变量声明;构造方法定义;其他方法定义;}publicclassPerson{intage;voidshout(){System.out.println(“oh,mygod!Iam“+age);}}1.age是类的属性,也叫类成员变量。2.shout是方法也叫类的成员函数。3.shout方法可以直接访问同一个类中的age变量,如果一个方法中有与成员

2、变量同名的局部变量,该方法中对这个变量名的访问是局部变量,而不再是成员变量。2.类的修饰符:(1).类访问权限修饰符:public(参考:test2.Hello.java,和test3.C01.javapublic公共的,对所有包可见!default(什么都没有,不写访问控制),对自身包可见!(2).abstract:(抽象的)该类中没有方法体的抽象方法,这些抽象方法必须在子类中实现。抽象类没有具体的实例的。(参考TestWeapon.java)(3).final最终类,不能被继承,不能有子类的。(参考Testfinal.java)2.成员修饰符:(成员变量,方法,内部类)(参考:Te

3、st03.java,TestAccess.java)成员访问控制:二.对象:1.对象也称实例,一个类可以对应多个对象•对象成员–类的非静态成员,对象拥有类中定义的所有非静态成员–实例变量•对象的状态(数据)–对象拥有类中定义的实例变量的数据–在内存中为对象分配空间,保存对象的状态–不同对象的状态(数据)可能不同–对象可以用来表示数据•对象的引用:–类似于C语言中的指针(地址),指向内存中存储的对象•类与对象的关系:类是对对象的抽象,是创建对象的蓝图或模版,对象是某种类的特定个体或实例static静态变量:(参考例子:Test08.java)当我们编写一个类时,其实就是在描述其对象的属性

4、和行为,而并没有产生实质上的对象,只有通过new关键字才会产生出对象,这时系统才会分配内存空间给对象,其方法才可以供外部调用。我们有时候希望无论是否产生了对象或无论产生了多少对象的情况下,某些特定的数据在内存空间里只有一份,例如所有的中国人都有个国家名称,每一个中国人都共享这个国家名称,不必在每一个中国人的实例对象中都单独分配一个用于代表国家名称的变量。static静态方法:(参考例子:Test06.java)1.在静态方法里只能直接调用同类中其它的静态成员(包括变量和方法),而不能直接访问类中的非静态成员。这是因为,对于非静态的方法和变量,需要先创建类的实例对象后才可使用,而静态方法

5、在使用前不用创建任何对象。2.静态方法不能以任何方式引用this和super关键字。与上面的道理一样,因为静态方法在使用前不用创建任何实例对象,当静态方法被调用时,this所引用的对象根本就没有产生。3.main()方法是静态的,因此JVM在执行main方法时不创建main方法所在的类的实例对象,因而在main()方法中,我们不能直接访问该类中的非静态成员,必须创建该类的一个实例对象后,才能通过这个对象去访问类中的非静态成员,这种情况,我们在以后的例子中会多次碰到。4.如果一个方法总是以相同的方式运行,它的运行与类的任何实例没有关系,其行为与对象的状态(实例变量的值)无关,这个时候就可

6、以用静态方法,静态方法的运行不依赖于对象,可以不创建对象来运行静态方法。三.对象的生成:1创建对象的过程(1).为新对象分配内存空间,并隐式初始化实例变量(2).显示初始化实例变量(3).执行构造函数2.什么是构造函数?构造函数:1.定义在对象创建完成了所有的初始工作特殊的成员函数,叫做构造函数2.特点(1)构造方法的方法名必须与类名相同。(2)构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型,否则会被认为成与构造函数同名的一个类方法(3)构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。(4)构造方法不能由编程人员调用,而要系统调用

7、。(5)一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构造器,这个构造器不执行任何代码。(6)构造方法可以重载,以参数的个数,类型,或排列顺序区分。(7)构造函数中使用super,this调用父类和当前类的其他构造函数时,必须放在第一行,否则编译通不过。子类中的构造函数,必须指明调用父类的哪一个构造函数,若不指明,此时默认父类中的无参构造函数,若无参构造函数未被调用,则编译前会报:需要确定父类隐

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。