当前位置:文档之家› JAVA程序设计 对象的组合 this调用该类的成员变量和成员方法

JAVA程序设计 对象的组合 this调用该类的成员变量和成员方法

JAVA程序设计 对象的组合 this调用该类的成员变量和成员方法
JAVA程序设计 对象的组合 this调用该类的成员变量和成员方法

学生实验报告

2、仿照例4.8和例4.9,定义一个学生类,其中包含静态成员,再定义一个包含主函数的学生类的静态变量和方法;

4、构造学生类,主函数访问学生类,主函数和学生类不在一个包中Test1.java的源代码如下:

import zhangyu.stu.Student3;

成员方法成员变量

成员变量 成员变量是指类的一些属性定义,标志类的静态特征,它的基本格式如下:访问修饰符修饰符类型属性名称=初始值; ?访问修饰符:可以使用四种不同的访问修饰符中的一种,包括public(公共的)、protected(受保护的),无修饰符和private(私有的)。public 访问修饰符表示属性可以从任何其它代码调用。private 表示属性只可以由该类中的其它方法来调用。protected 将在以后的课程中讨论。 ?修饰符:是对属性特性的描述,例如后面会学习到的:static、final 等等。 ?类型:属性的数据类型,可以是任意的类型。 ?属性名称:任何合法标识符 ?初始值:赋值给属性的初始值。如果不设置,那么会自动进行初始化,基本类型使用缺省值,对象类型自动初始化为null。 成员变量有时候也被称为属性、实例变量、域,它们经常被互换使用。 成员方法 成员方法就是对象所具有的动态功能。Java 类中方法的声明采用以下格式:访问修饰符修饰符返回值类型方法名称(参数列表) throws 异常列表{方法体} ?访问修饰符:可以使用四种不同的访问修饰符中的一种,包括public、protected、无修饰符和private。public 访问修饰符表示方法可以从任何其它代码调用。private表示方法只可以由该类中的其它方法来调用。protected 将在以后的课程中讨论。 ?修饰符:是对方法特性的描述,例如后面会学习到的:static、final、abstract、synchronized 等等。 ?返回值类型:表示方法返回值的类型。如果方法不返回任何值,它必须声明为void(空)。Java 技术对返回值是很严格的,例如,如果声明某方法返回一个int值,那么方法必须从所有可能的返回路径中返回一个int值(只能在等待返回该int值的上下文中被调用。) ?方法名称:可以是任何合法标识符,并带有用已经使用的名称为基础的某些限制条件。 ?参数列表:允许将参数值传递到方法中。列举的元素由逗号分开,而每一个元素包含一个类型和一个标识符。在下面的方法中只有一个形式参数,用int类型和标识符days 来声明:public void test(int days){} ?throws 异常列表:子句导致一个运行时错误(异常)被报告到调用的方法中,以便以合适的方式处理它。异常在后面的课程中介绍。 ?花括号内是方法体,即方法的具体语句序列。 示例:比如现在有一个“车”的类——Car,“车”具有一些基本的属性,比如四个轮子,一个方向盘,车的品牌等等。当然,车也具有自己的功能,也就是方法,比如车能够“开动”——run。

Java中this、super用法

通过用static来定义方法或成员,为我们编程提供了某种便利,从某种程度上可以说它类似于C语言中的全局函数和全局变量。但是,并不是说有了这种便利,你便可以随处使用,如果那样的话,你便需要认真考虑一下自己是否在用面向对象的思想编程,自己的程序是否是面向对象的。 好了,现在开始讨论this&super这两个关键字的意义和用法。 在Java中,this通常指当前对象,super则指父类的。当你想要引用当前对象的某种东西,比如当前对象的某个方法,或当前对象的某个成员,你便可以利用this来实现这个目的,当然,this的另一个用途是调用当前对象的另一个构造函数,这些马上就要讨论。如果你想引用父类的某种东西,则非super莫属。由于this与super有如此相似的一些特性和与生俱来的某种关系,所以我们在这一块儿来讨论,希望能帮助你区分和掌握它们两个。 在一般方法中 最普遍的情况就是,在你的方法中的某个形参名与当前对象的某个成员有相同的名字,这时为了不至于混淆,你便需要明确使用this关键字来指明你要使用某个成员,使用方法是“this.成员名”,而不带this的那个便是形参。另外,还可以用“this.方法名”来引用当前对象的某个方法,但这时this就不是必须的了,你可以直接用方法名来访问那个方法,编译器会知道你要调用的是那一个。下面的代码演示了上面的用法: public class DemoThis{ private String name; private int age; DemoThis(String name,int age){ setName(name); //你可以加上this来调用方法,像这样:this.setName(name);但这并不是必须的 setAge(age); this.print(); br> } public void setName(String name){ https://www.doczj.com/doc/7219119244.html,=name;//此处必须指明你要引用成员变量 } public void etAge(int age){ this.age=age; } public void print(){ System.out.println("Name="+name+" ge="+age); //在此行中并不需要用this,因为没有会导致混淆的东西 } public static void main(String[] args){ DemoThis dt=new DemoThis("Kevin","22"); 这段代码很简单,不用解释你也应该能看明白。在构造函数中你看到用this.print(), 你完全可以用print()来代替它,两者效果一样。下面我们修改这个程序,来演示super 的用法。 class Person{ public int c; private String name; private int age;

java里面synchronized用法

java里面synchronized用法 在java编程思想中对synchronized的一点解释: 1、synchronized关键字的作用域有二种: 1)是某个对象实例内,synchronized aMethod(){}可以防止多个线程同时访问这个对象的synchronized方法(如果一个对象有多个synchronized方法,只要一个线程访问了其中的一个synchronized方法,其它线程不能同时访问这个对象中任何一个synchronized方法)。这时,不同的对象实例的 synchronized 方法是不相干扰的。也就是说,其它线程照样可以同时访问相同类的另一个对象实例中的synchronized方法; 2)是某个类的范围,synchronized static aStaticMethod{}防止多个线程同时访问这个类中的synchronized static 方法。它可以对类的所有对象实例起作用。 2、除了方法前用synchronized关键字,synchronized关键字还可以用于方法 中的某个区块中,表示只对这个区块的资源实行互斥访问。用法是: synchronized(this){/*区块*/},它的作用域是当前对象; 3、synchronized关键字是不能继承的,也就是说,基类的方法synchronized f(){} 在继承类中并不自动是synchronized f(){},而是变成了f(){}。继承类需要你显式的指定它的某个方法为synchronized方法; --------------------------------------------------------------------- ------- java里面synchronized用法 synchronized的一个简单例子 public class TextThread { /** * @param args */ public static void main(String[] args) { // TODO 自动生成方法存根 TxtThread tt = new TxtThread(); new Thread(tt).start(); new Thread(tt).start(); new Thread(tt).start(); new Thread(tt).start();

Java中super的几种用法并与this的区别

4.super和this的异同: 1)super(参数):调用基类中的某一个构造函数(应该为构造函数中的第一条语句) 2)this(参数):调用本类中另一种形成的构造函数(应该为构造函数中的第一条语句) 3)super:它引用当前对象的直接父类中的成员(用来访问直接父类中被隐藏的父类中成员数据或函数,基类与派生类中有相同成员定义时如:super.变量名super.成员函数据名(实参) 4)this:它代表当前对象名(在程序中易产生二义性之处,应使用this来指明当前对象;如果函数的形参与类中的成员数据同名,这时需用this来指明成员变量名) 5)调用super()必须写在子类构造方法的第一行,否则编译不通过。每个子类构造方法的第一条语句,都是隐含地调用super(),如果父类没有这种形式的构造函数,那么在编译的时候就会报错。 6)super()和this()类似,区别是,super()从子类中调用父类的构造方法,this()在同一类内调用其它方法。 7)super()和this()均需放在构造方法内第一行。 8)尽管可以用this调用一个构造器,但却不能调用两个。 9)this和super不能同时出现在一个构造函数里面,因为this必然会调用其它的构造函数,其它的构造函数必然也会有super语句的存在,所以在同一个构造函数里面有相同的语句,就失去了语句的意义,编译器也不会通过。 10)this()和super()都指的是对象,所以,均不可以在static环境中使用。包括:static 变量,static方法,static语句块。 11)从本质上讲,this是一个指向本对象的指针, 然而super是一个Java关键字。1.静态方法 通常,在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法声明为static的方法有以下几条限制: 1)它们仅能调用其他的static 方法。 2)它们只能访问static数据。 3)它们不能以任何方式引用this 或super。 class Simple { static void Go() { System.out.println("Welcome"); } } public class Cal { public static void main(String[] args) { Simple.go(); } } 调用一个静态方法就是“类名.方法名”,静态方法的使用很简单如上所示。一般来说,静态方法常常为应用程序中的其它类提供一些实用工具所用,在Java的类库中大量的静态方法正是出于此目的而定义的。 2. 静态变量 声明为static的变量实质上就是全局变量。当声明一个对象时,并不产生static变量的拷贝,而是该类所有的实例变量共用同一个static变量。静态变量与静态方法类似。所有此类实例

This,that和 it用法“八注意”

This,that和it用法“八注意” 作者:张庆 it,this 和that都是指示代词,使用时有"八注意",同学们要小心啊! 一、距离说话人近的人或物用this, 距离说话人远的人或物用that。如:This is an apple tree. (近处)这是一棵苹果树。 That is an orange tree.(远处)那是一棵桔子树。 二、放在一起的两样东西,先说this, 后说that。如: This is a pen. That is a pencil.这是一枝钢笔,那是一枝铅笔。 三、向别人介绍某人时说"This is ..." 不用"That is ..."。如: This is Tom. Tom, this is Jack. 这是汤姆。汤姆,这是杰克。 四、This is 不能缩写,而that is 可以缩写成that's。如: This is a bus. That's a car. 这是一辆公共汽车,那是一辆轿车。 五、在回答this 或that 作主语的疑问句时,要用it 代替this 或that。如:-Is this a book? 这是一本书吗? -Yes, it is. 是的,这是本书。

-What's that? 那是什么? -It's a kite. 那是个风筝。 六、打电话时,介绍自己用this, 询问对方用that。注意不可用"I am ..."或"Are you ..." "Who are you?" 等句式。如: -Hello! Is that Miss Green? 你好!你是格林小姐吗? -Yes. This is Miss Green speaking. Who's that? 是的,我是格林小姐,你是谁? -Oh. This is Mr Brown. 哦,我是布朗先生。 七、指性别不明的婴儿、身份不明的人或是只闻其声未见其人的时候用it而不用this或that。如: -It's a nice picture. Who's in it? 这是张好看的照片,上面的人是谁? -Me!是我! 八、It 常用来代替前文中所提到的东西。如: The pen doesn't work. It's Lily's.这枝钢笔坏了,它是莉莉的。

java中常用关键字总结

Java中的关键字总结 final 关键字 1、用final修饰的类不能被继承,没有子类; 2、用final修饰的方法,方法不能被重写; 3、用final修饰变量,变量的值不能被修改,表示常量,(书写规范:全部字母都要大写;多个单词,可以使用下划线(_)分开;) 注意:如果被final修饰的变量是一个引用类型的数据,那么通过这个引用改变堆空间中的数据,不会报错;如果被final修饰的变量是一个引用类型的数据,那么通过这个引用改变堆空间中的数据,不会报错; 4、final用于成员变量表示该成员变量为常量,不能被修改,必须在变量定义时赋值。 5、final用于局部变量表示该局部变量为常量,不能被修改,可以在变量定义时赋值,也可以先定义变量后赋值。 什么时候用final关键字? 有的时候不想别人重写我的方法就使用final关键字修饰该方法; static关键字 1、static用于成员变量表示该变量只有一份,也就是说静态成员变量属于类而不属于某个具体的类实例对象,所有的类实例对象共享这个静态成员变量;静态函数是不需要对象的,直接可以使用类名来调用; 2、非静态函数可以调用静态函数;静态函数不能调用非静态函数(非静态函数都是通过对象调用的);静态函数不能使用非静态成员变量,但可以使用静态成员变量; 3、静态函数调用时不需要对象的,所以不能使用和对象有关的关键字;(this;super;) 4、构造函数不能使用static修饰(构造函数是创建对象,开辟空间,给所有成员变量赋默认值之后,有JVM调用进栈,用来给对象的成员变量赋初始值的) static用于类,这里指的是内部类,那么在别的地方就可以通过外部类名来引用这个静态的内部类。 5、static还可以用于类的代码块,叫做静态代码块,静态代码块在类加载的时候就执行完毕,而类只加载一次;是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,它不在任何的方法体内,JVM加载类时会执行这些静态的代码块,如果static代码块有多个,JVM将按照它们在类中出现的先

C++类的成员变量和成员函数

类可以看做是一种数据类型,它类似于普通的数据类型,但是又有别于普通的数据类型。类这种数据类型是一个包含成员变量和成员函数的集合。 类的成员变量和普通变量一样,也有数据类型和名称,占用固定长度的内存。但是,在定义类的时候不能对成员变量赋值,因为类只是一种数据类型或者说是一种模板,本身不占用内存空间,而变量的值则需要内存来存储。 类的成员函数也和普通函数一样,都有返回值和参数列表,它与一般函数的区别是:成员函数是一个类的成员,出现在类体中,它的作用范围由类来决定;而普通函数是独立的,作用范围是全局的,或位于某个命名空间内。 上节我们在示例中给出了Student 类的定义,如下所示: 1.class Student{ 2.public: 3.//成员变量 4.char*name; 5.int age; 6.float score; 7. 8.//成员函数 9.void say(){ 10.cout<

1.class Student{ 2.public: 3.//成员变量 4.char*name; 5.int age; 6.float score; 7. 8.//成员函数 9.void say();//函数声明 10.}; 11. 12.//函数定义 13.void Student::say(){ 14.cout<

this 、that区别 初一英语

1.课前热身: 听写:巩固基础 question 问题,answer 答案, ruler 尺子, eraser 橡皮擦, pen 钢笔, pencil 铅笔, book 书本, pencil case 铅笔盒, dictionary 字典2.课堂知识讲解:(1)this,that和it用法(句子改写,否定句与疑问句) (1)this和that是指示代词,it是人称代词。 (2)距离说话人近的人或物用this, 距离说话人远的人或物用that。如:This is a flower. 这是一朵花。(近处) That is a tree. 那是一棵树。(远处) (3)放在一起的两样东西,先说this, 后说that。如:This is a pen. That is a pencil. 这是一支钢笔。那是一支铅笔。 (4)向别人介绍某人时说This is…, 不说That is…。 如:This is Helen. Helen, this is Tom. 这是海伦,海伦,这是汤姆。 (5)This is 不能缩写, 而That is可以缩写。 如:This is a bike. That’s a car. 这是一辆自行车。那是一辆轿车。 (6)打电话时,介绍自己用this, 询问对方用that。 如:—Hello! Is that Miss Green? 喂,是格林小姐吗? —Yes, this is. Who’s that? 是的,我是,你是谁? 注意:虽然汉语中使用“我”和“你”,但英语中打电话时绝不可以说:I am…, Are you…?/Who are you? (7)在回答this或that作主语的疑问句时, 要用it代替this或that。

java中的关键字的含义及介绍

Java中的键字? 才发现Java中的好多关键字都不知道什么意思,特转一遍过来。 Java保留关键字 Java语言有51个关键字,其中const和goto虽然被保留但未使用。你不能使用保留关键字来命名类、方法或变量。 一、保留关键字 1、数据类型: Boolean int long short byte float double char class interface 2、流程控制: if else do while for switch case default break continue return try catch finally 3、修饰符: public protected private final void static strictfp abstract transient synchronized volatile native 4、动作: package import throw throws extends implements this Super instanceof new 5、保留字: true false null goto const 二、访问修饰符: 访问修饰符:public , protected , private * 只能应用于类的成员变量。(局部变量只能在函数的范围内可见,不能使用访问修饰符) * 能够用来修饰类本身。(protected , private 不能用于顶级类,只能用于内部类) * 能够应用于成员方法和构造函数。 下面是一个例子: package Examples; public class HelloWorld02{ //以下定义了三个了类成员变量 public String str1="Hello"; //可被你程序中的任何其他代码访问 protected String str2="World!"; //程序中同一包的成员和不同包中的该类子类可以访问 private String str3=" "; //仅该类中的成员可以访问 String str=str1+str3+str2; //不使用修饰符的话,变量的访问控制在所在包内为public, // 不能被所在包外的代码存取 //以下定义了三个使用不同修饰符和不同参数的构造方法。

JAVA的两种成员变量

介绍java类的两种成员变量 个人分类:转载文章关键词:java两种介绍成员变量 (鉴于该文看到的同学比较多,现在回过头又认真审查了一边,在结尾处更新了一些比较易于掌握的信息,希望能对各位同学有所帮助) java类的两种成员变量:一种没有static修饰,为实例变量,一另种是被static关键字修饰的变量,叫类变量或者静态变量。在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。 顺序运行时的区别:实例变量属于某个对象的属性。其中的实例变量才会被分配空间,必需创立了实例对象。才干使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要顺序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了总之,实例变量必需创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。 例如,对于下面的程序,无论创建多少个实例对象,永远都只分配了一个staticVar 变量,并且每创建一个实例对象,这个staticVar 就会加1;但是,每创建一个实例对象,就会分配一个instanceVar,即可能分配多个instanceVar,并且每个instanceVar的值都只自加了1次。 类的静态变量在内存中只有一个,java虚拟机在加载类的过程中为静态变量分配 内存,静态变量位于方法区,被类的所有实例共享。静态变量可以直接通过类名进行访问,其生命周期取决于类的生命周期。 而实例变量取决于类的实例。每创建一个实例,java虚拟机就会为实例变量分配一次

内存,实例变量位于堆区中,其生命周期取决于实例的生命周期。 结果为: 1 0 (成员变量具有缺省值而局部变量则没有) 把代码改为: 结果则为 1 静态变量和实例变量的区别,可参考以下代码,

this, these, that, those 的用法

this, these, that, those 的用法 我们把this, these, that, those 这四个词称为“指示代词”,用来指示或标识人或事物。其中,this 和that 为单数指示代词,these 和those 为复数指示代词。例如: ?This is my mother. 这是我的妈妈。 ?That's my dad. 那是我的爸爸。 ?These are my parents. 这是我的父母。 ?Those are Paul's son and daughter. 那是保罗的儿子和女儿。 通常,我们谈论离自己近的人或物时用 this / these,离自己远的人或物时用that / those 。例如: ?I like these books, but I don't like those books. 我喜欢这些书,但是我不喜欢那些书。 ?This girl is Mary. 这个女孩是玛丽。 ?That boy is in Class 5. 那个男孩在五班。 下面我们来看一下这些指示代词作主语构成一般疑问句时,答句所使用的主语会有什么变化。 ?Is this your bike? ?Yes, it is ?. 这是你的自行车吗? ?是的,是我的自行车。 ?Are these your grandparents? ?Yes, they are.

?这是你的祖父母吗? ?是的,他们是。 由此可以看出,当指示代词所指的事物已确定时,后面的指示代词指人时用he、she 和they 来代替,指物时用it 和they 来代替。再如: ?Is that a bird or a plane? ?It's a plane. ?那是鸟还是飞机? ?是飞机。 ?Is this your friend Tony ?Yes, he is. ?这是你的朋友托尼吗? ?是的,他是。 上一个:Module1 动词be 说明身份、年龄、状态等 下一个:Module 3 there be 句型的用法

静态成员函数一般情况下只能访问静态成员变量

静态成员函数一般情况下只能访问静态成员变量,因为不接受隐含的this指针。另外作为类的静态成员函数,不用声明对象,便可直接调用,例如类A的静态成员函数fun(); A::fun(); 1、主要用于封装全局变量和全局函数。以避免在文件作用域内包含带外部连接的数据。 例如全局变量:int path;int para1; 解决办法:设计一个全局类,并将这些全局名称声明为静态变量,并编写静态函数来调用这些变量。 class Global{ static int s_path; static int s_para; private: Global();//不实现,避免无意中的实例化 public: //manipulators static void setPath(int path){s_path = path;} static void setPara(int para){s_para = para;} //accessors static int getPath(){return s_path;} static int getPara(){return s_para;} } 2、对自由函数的封装 在.h文件的文件作用域内避免使用自由函数(运算符函数除外);在.c文件中避免使用带有外部连接的自由函数,因此可以使用静态成员函数进行处理。 例如:int getPara();int getPath();我们可以通过声明一个结构的静态方法代替: struct SysUtil{ static int getPath(); static int getPara(); }这样,唯一有冲突危险的就是出现类名SysUtil了。

this that和it用法

语法1 this,that和it用法 (1)this和that是指示代词,it是人称代词。 (2)距离说话人近的人或物用this, 距离说话人远的人或物用that。如: This is a flower. 这是一朵花。(近处) That is a tree. 那是一棵树。(远处) (3)放在一起的两样东西,先说this, 后说that。如: This is a pen. That is a pencil. 这是一支钢笔。那是一支铅笔。 (4)向别人介绍某人时说This is…, 不说That is…。如: This is Helen. Helen, this is Tom. 这是海伦,海伦,这是汤姆。 (5)This is 不能缩写, 而That is可以缩写。如: This is a bike. That’s a car. 这是一辆自行车。那是一辆轿车。 (6)打电话时,介绍自己用this, 询问对方用that。如: —Hello! Is that Miss Green? 喂,是格林小姐吗? —Yes, this is. Who’s that? 是的,我是,你是谁? 注意:虽然汉语中使用“我”和“你”,但英语中打电话时绝不可以说:I am…, Are you…?/Who are you? (7)在回答this或that作主语的疑问句时, 要用it代替this或that。如: ①—Is this a notebook? 这是笔记本吗? —Yes, it is. 是的,它是。 ②—What’s that? 那是什么? —It’s a kite. 是只风筝。 三.these和those用法 this, that, these和those是指示代词,these是this的复数形式,指时间,距离较近的或下面要提到的人或事;those是that的复数形式,指时间、距离较远或前面已经提到过的人或事物。 ①This is my bed. That is Lily’s bed. 这是我的床。那是莉莉的床。 ②These pictures are good. 那些画很好。 ③Are those apple trees? 那些是苹果树吗? 在回答主语是these或those的疑问句时,通常用they代替these或those以避免重复。如: ④Are these/those your apples? 这些(那些)是你的苹果吗? Yes, they are. 是的,他们是。

Java中的两个特殊变量this和super

Java中的两个特殊变量this和super 在Java中有两个非常特殊的变量:this和super,这两个变量在使用前都是不需要声明的。this变量使用在一个成员函数的内部,指向当前对象,当前对象指的是调用当前正在执行方法的那个对象。super变量是直接指向超类的构造函数,用来引用超类中的变量和方法。因此它们都是非常有用的变量,下面我想介绍一下this和super的使用方法。 1、this 让我们先看一段代码吧: class PersonInformation { String name,gender,nationality,address; int age; void PersonInformation(String p_name,String p_gender,String p_nationality,String p_address,int p_age) { name=p_name; gender=p_gender; nationality=p_nationality; address=p_address; age=p_age; } } 你会发现,在PersonInformation()函数中这个对象的方法提示可以直接访问对象的成员变量的,而且在同一个范围中,定义两个相同的名字的局部变量是不允许的,如果确实想使类的成员变量和方法的参数或方法自己定义的局部变量同名的话就需要想一种方法使成员变量与更它同名的方法参数或局部变量区分开来,这就要使用到this变量。下面我想改写一

下上面的代码,使PersonInformation类的构造函数的每个参数都有与对象成员变量相同的名字,而成员变量的初值由参数给出。 class PersonInformation { String name,gender,nationality,address; int age; void PersonInformation(String name,String gender,String nationality,String address,int age) { https://www.doczj.com/doc/7219119244.html,=name; this.gender=gender; this.nationality=nationality; this.address=address; this.age=age; } } 由上一例中,我们可以看出,该构造函数中必须使用this,this在方法体重用来指向引用当前正在执行方法的那个对象实例,this变量的类型总是为包含前执行方法的类,上例中,我们要区别参数name和成员变量name,写成name=name显然是不允许的,在参数或局部变量名与类成员变量同名的时候,由于参数或局部变量的优先级高,这样在方法体中参数名或局部变量名将隐藏同名的成员变量,因此,为了值名成员变量,你必须使用this显示地指明当前对象。 有时候会遇到这种情况,我们全面的访问当前对象,而不是访问某一个个别的实例对象,我们也可以使用this,并利用Java中的toString()方法(它能够返回一个描述这个对象的字符串)如果把任何一个对象传递到System.out.println方法中,这个方法调用这个对象的toString方法,并打印出结果字符串,所以,我们可以用如下方法System.out.println(this),来打印出任何对方法固有参数的当前状态。 this还有一个用法,就是构造函数的第一个语句,它的形式是this(参数表),这个构造

Java 继承之子父类中的成员变量和函数

本文由我司收集整编,推荐下载,如有疑问,请与我司联系 Java 继承之子父类中的成员变量和函数 2015/05/09 102 //父类。class Fu{ int num = 3;}class Zi extends Fu{ int num = 4; void show() { System.out.println(“num= “+this.num);}}class ExtendsDemo { public static void main(String[] args) { Zi z = new Zi(); z.show(); }}从一张图来看它的原理: 图有点乱,看一下顺序吧。在代码中,super 和this 的用法很相似,this 代表的 是本类对象的引用,super 代表的是父类的内存空间。 成员函数:【子父类中成员函数的特点】特殊情况:子父类中的定义了一模一 样的函数。运行的结果:子类的函数在运行。这种情况在子父类中,是函数的另一个 特性:override(重写,覆盖,复写) 重写什么时候用?举例: //描述手机。class Phone{ int number; //打电话。void call(){} //来电显示。void show() { sop(“电话号码..”+number); }}Phone p = new Phone();p.show();随着电话的升级,只显示号码不爽,希望显示姓名,照片。修改源码,虽然费劲但是可以解决, 不利于后期的维护和扩展。为了扩展方便。新功能是不是新的电话具备呢?单独描 述单独封装。新电话也是电话中的一种。继承。直接获取父类中的功能。但是新电 话的来显功能已经变化了。需要重新定义。那么定义一个新功能合适吗?比如newShow,不合适,因为父类已经将来显功能定义完了,子类完全不需要重新定义 新功能。直接用就可以了。如果子类的来显功能内容不同。直需要保留来显功能, 定义子类的内容即可:这就是重写的应用!class NewPhone extends Phone{ String name; String picPath;//图片路径。void show() { //sop(“电话号码”);super.show();//如果还需要父类中原有的部分功能,可以通过super 调用。System.out.print(“姓名”+name);System.out.print(“照片”+picPath); }}【重写(覆盖)的注意事项】1,子类 覆盖父类,必须保证全要大于或者等于父类的权限。Fu: private void show(){} Zi:

java 中getxxx的用法大全

java 中getxxx的用法大全 2006-09-28 11:11 Version 1: How to read each JDBC type This section lists the ResultSet.getXXX methods recommended and allowed for retrieving data of each JDBC type. TINYINT: getByte (recommended) Can also be read using getShort, getInt, getLong, getFloat, getDouble, getBigDecimal, getBoolean, getString, getObject SMALLINT: getShort (recommended) Can also be read using getByte, getInt, getLong, getFloat, getDouble, getBigDecimal, getBoolean, getString, getObject INTEGER: getInt (recommended) Can also be read using getByte, getShort, getLong, getFloat, getDouble, getBigDecimal, getBoolean, getString, getObject BIGINT: getLong (recommended) Can also be read using getByte, getShort, getInt, getFloat, getDouble, getBigDecimal, getBoolean, getString, getObject REAL: getFloat (recommended) Can also be read using getByte, getShort, getInt, getLong, getDouble, getBigDecimal, getBoolean, getString, getObject FLOAT: getDouble (recommended) Can also be read using getByte, getShort, getInt, getLong, getFloat, getBigDecimal, getBoolean, getString, getObject DOUBLE: getDouble (recommended) Can also be read using getByte, getShort, getInt, getLong,

Java关键字大全

abstract - 1 - boolean - 2 - break - 2 - byte - 2 - case - 3 - catch - 3 - char - 4 - class - 4 - continue - 5 - default - 5 - do - 6 - double - 6 - else - 6 - extends - 6 - false - 7 - final - 7 - finally - 7 - float - 8 - for - 8 - if - 8 - implements - 9 - import - 9 - instanceof - 9 - int - 9 - interface - 10 - long - 10 - native - 10 - new - 11 - null - 11 - package - 11 - private - 11 - protected - 12 - public - 12 - return - 13 - short - 13 - static - 13 - super - 14 - switch - 14 - synchronized - 15 - this - 16 - throw - 16 - throws - 16 - transient - 17 - try - 17 - true - 18 - void - 18 - volatile - 18 - while - 18 - 1.abstract abstract 关键字可以修改类或方法。 abstract 类可以扩展(增加子类),但不能直接实例化。 abstract 方法不在声明它的类中实现,但必须在某个子类中重写。 -示例- public abstract class MyClass{ } public abstract String myMethod(); -注释- 采用abstract 方法的类本来就是抽象类,并且必须声明为abstract。 abstract 类不能实例化。 仅当abstract 类的子类实现其超类的所有abstract 方法时,才能实例化abstract 类的子类。这种类称为具体类,以区别于abstract 类。 如果abstract 类的子类没有实现其超类的所有abstract 方法,该子类也是abstract 类。 abstract 关键字不能应用于static、private 或final 方法,因为这些方法不能被重写,因此,不能在子类中实现。 final 类的方法都不能是abstract,因为final 类不能有子类。

类、方法、成员变量和局部变量的可用修饰符 !!!

类的修饰符整合 一.类 类的修饰符: Public:可以在其他任何类中使用,默认为统一包下的任意类。 Abstract:抽象类,不能被实例化,可以包含抽象方法,抽象方法没有被实现,无具体功能,只能衍生子类。 Final:不能被继承。

二.变量 变量修饰符: 一个类的成员变量的声明必须在类体中,而不能在方法中,方法中声明的是局部变量。 1. 可访问修饰符: 2. static:类变量:一个类所拥有的变量,不是类的每个实例有的变量。类变量是指不管类创建了多少对象,系统仅在第一次调用类的时候为类变量分配内存,所有对象共享该类的类变量,因此可以通过类本身或者某个对象来访问类变量。 3. final:常量。 4. volatile:声明一个可能同时被并存运行的几个线程所控制和修改的变量。 实例变量:和类变量对应,即每个对象都拥有各自独立的实例变量。 三.方法:(和变量对象分为实例方法和类方法,并用有无static修饰区别) 类方法:使用static关键字说明的方法 1.第一次调用含类方法的类是,系统只为该类创建一个版本,这个版本被该类和该类的所有实例共享。 2.类方法只能操作类变量,不能访问实例变量。类方法可以在类中被调用,不必创建实例来调用,当然也可以通过对象来调用。 实例方法:实例方法可以对当前对象的实例变量操作,而且可以访问类变量。 方法可以重载,要求:方法名相同,但是参数必须有区别。(参数不同可以使类型不同,顺序不同,个数不同) 方法的返回类型:若无返回类型,则声明为void. 方法中的变量作用域: 1. 成员变量:整个类。 2. 局部变量:定义起到方法块结束为止。 3. 方法参数:整个方法或者构造方法。 4. 异常处理参数:参数传递给异常处理方法。

相关主题
文本预览
相关文档 最新文档