文档库 最新最全的文档下载
当前位置:文档库 › java中super关键字的三种用法

java中super关键字的三种用法

java中super关键字的三种用法
java中super关键字的三种用法

1.子类的构造函数如果要引用super的话,必须把super放在函数的首位. class Base {

Base() {

System.out.println("Base");

}

}

public class Checket extends Base {

Checket() {

super();//调用父类的构造方法,一定要放在方法的首个语句

System.out.println("Checket");

}

public static void main(String argv[]) {

Checket c = new Checket();

}

}

如果想用super继承父类构造的方法,但是没有放在第一行的话,那么在super 之前的语句,肯定是为了满足自己想要完成某些行为的语句,但是又用了super继承父类的构造方法。那么以前所做的修改就都回到以前了,就是说又成了父类的构造方法了。

2.在Java中,有时还会遇到子类中的成员变量或方法与父类(有时也称父类)中的成员变量或方法同名。因为子类中的成员变量或方法名优先级高,所以子类中的同名成员变量或方法就隐藏了父类的成员变量或方法,但是我们如果想要使用父类中的这个成员变量或方法,就需要用到super. class Country {

String name;

void value() {

name = "China";

}

}

class City extends Country {

String name;

void value() {

name = "Hefei";

super.value();//不调用此方法时,https://www.wendangku.net/doc/566458541.html,返回的是父类的成员变量的值null System.out.println(name);

System.out.println(https://www.wendangku.net/doc/566458541.html,);

}

public static void main(String[] args) {

City c=new City();

c.value();

}

}

为了在子类中引用父类中的成员变量name和方法value(),在代码中使用了super、https://www.wendangku.net/doc/566458541.html,和super.value(),若不调用super.value()时,https://www.wendangku.net/doc/566458541.html,返回父类

成员变量默认值null,调用此方法时,super.value()方法把成员变量name赋

值为China,再利用https://www.wendangku.net/doc/566458541.html,调用父类的成员变量的值。

另外,要注意的是https://www.wendangku.net/doc/566458541.html,调用的是成员变量的值,

class Country {

String name="xianfan";

String value(String name) {

name = "China";

return name;

}

}

class City extends Country {

String name;

String value(String name) {

name = "Hefei";

super.value("失败");//不调用此方法时,https://www.wendangku.net/doc/566458541.html,返回的是父类的成员变量的值

null

System.out.println(name);

System.out.println(https://www.wendangku.net/doc/566458541.html,);

return name;

}

public static void main(String[] args) {

City c=new City();

c.value("成功");

}

}

结果为:Hefei

xianfan

此时,https://www.wendangku.net/doc/566458541.html,返回的值是父类成员变量的值xianfan,而此时的super.value()方法是不起作用的。

3.用super直接传递参数:

class Person {

public static void prt(String s) {

System.out.println(s);

}

Person() {

prt("A Person.");

}

Person(String name) {

prt("A person name is:" + name);

}

}

public class Chinese extends Person {

Chinese() {

super(); // 调用父类无形参构造方法(1)

prt("A chinese.");// (4)

}

Chinese(String name) {

super(name);// 调用父类具有相同形参的构造方法(2)

prt("his name is:" + name);

}

Chinese(String name, int age) {

this(name);// 调用当前具有相同形参的构造方法(3)prt("his age is:" + age);

}

public static void main(String[] args) {

Chinese cn = new Chinese();

cn = new Chinese("kevin");

cn = new Chinese("kevin", 22);

}

}

结果为:A Person.

A chinese.

A person name is:kevin

his name is:kevin

A person name is:kevin

his name is:kevin

his age is:22

在这段程序中,this和super不再是像以前那样用“.”连接一个方法或成员,而是直接在其后跟上适当的参数,因此它的意义也就有了变化。super后加参数的是用来调用父类中具有相同形式的构造函数,如1和2处。this后加参数则调用的是当前具有相同参数的构造函数,如3处。当然,在Chinese 的各个重载构造函数中,this和super在一般方法中的各种用法也仍可使用,比如4处,你可以将它替换为“this.prt”(因为它继承了父类中的那个方法)或者是“super.prt”(因为它是父类中的方法且可被子类访问),它照样可以正确运行。但这样似乎就有点画蛇添足的味道了。

搜索引擎使用技巧

搜索引擎使用技巧 1、简单查询 在搜索引擎中输入关键词,然后点击“搜索”就行了,系统很快会返回查询结果,这是最简单的查询方法,使用方便,但是查询的结果却不准确,可能包含着许多无用的信息。 2、使用双引号""、书名号《》 给要查询的关键词加上双引号、书名号(半角,以下要加的其它符号同此),可以实现精确的查询,这种方法要求查询结果要精确匹配,不包括演变形式。例如在搜索引擎的文字框中输入“电传”,它就会返回网页中有“电传”这个关键字的网址,而不会返回诸如“电话传真”之类网页。 3、使用加号(+) 在关键词的前面使用加号,也就等于告诉搜索引擎该单词必须出现在搜索结果中的网页上,例如,在搜索引擎中输入“+电脑+电话+传真”就表示要查找的内容必须要同时包含“电脑、电话、传真”这三个关键词。 4、使用减号(-) 在关键词的前面使用减号,也就意味着在查询结果中不能出现该关键词,例如,在搜索引擎中输入“电视台-中央电视台”,它就表示最后的查询结果中一定不包含“中央电视台”。 5、使用布尔检索 and,称为逻辑“与”,用and进行连接,表示它所连接的两个词必须同时出现在查询结果中,例如,输入“computer and book”,它要求查询结果中必须同时包含computer和book。or,称为逻辑“或”,它表示所连接的两个关键词中任意一个出现在查询结果中就可以,例如,输入“computer or book”,就要求查询结果中可以只有computer,或只有book,或同时包含computer和book。not,称为逻辑“非”,它表示所连接的两个关键词中应从第一个关键

词概念中排除第二个关键词,例如输入“automobile not car”,就要求查询的结果中包含automobile(汽车),但同时不能包含car(小汽车)。 6、使用搜索语法:filetype,site filetype就是按照文件类型搜索,比如搜毕业论文,可以用: 毕业论文filetype:doc site是只搜索某一个站点的,比如只想看百度上的小说,可以用: 玄幻小说site:baidu 关键词后必须带空格 7、使用通配符(*和?) 通配符包括星号(*)和问号(?),前者表示匹配的数量不受限制,后者匹配的字符数要受到限制,主要用在英文搜索引擎中。例如输入“computer*”,就可以找到“computer、computers、computerised、com puterized”等单词,而输入“comp?ter”,则只能找到“computer、compater、competer”等单词。 8、区分大小写 这是检索英文信息时要注意的一个问题,许多英文搜索引擎可以让用户选择是否要求区分关键词的大小写,这一功能对查询专有名词有很大的帮助,例如:Web专指万维网或环球网,而web则表示蜘蛛网。

java关键字

Java 关键字速查表 访问控制: private 私有的 protected 受保护的 public 公共的 类、方法和变量修饰符abstract 声明抽象 class 类 extends 扩允,继承 final 终极,不可改变的implements实现 interface 接口 native 本地 new 新,创建 static 静态 strictfp 严格,精准synchronized 线程,同步transient 短暂 volatile 易失 程序控制语句 break 跳出循环 continue 继续 return 返回 do 运行 while 循环 if 如果 else 反之 for 循环 instanceof 实例 switch 开关 case 返回开关里的结果 default 默认 错误处理 catch 处理异常 finally 有没有异常都执行 throw 抛出一个异常对象throws 声明一个异常可能被抛出try 捕获异常 包相关 import 引入 package 包

基本类型 boolean 布尔型 byte 字节型 char 字符型 double 双精度, float 浮点 int 整型 long 长整型 short 短整型 null 空 true 真 false 假 变量引用 super 父类,超类 this 本类 void 无返回值 java关键字 关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字。Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名。一个Java语言中的关键字,用在类的声明中来指明一个类是不能被实例化的,但是可以被其它类继承。一个抽象类可以使用抽象方法,抽象方法不需要实现,但是需要在子类中被实现break 一个Java的关键字,用来改变程序执行流程,立刻从当前语句的下一句开始执行从。如果后面跟有一个标签,则从标签对应的地方开始执行case Java语言的关键字,用来定义一组分支选择,如果某个值和switch中给出的值一样,就会从该分支开始执行。catch :Java的一个关键字,用来声明当try语句块中发生运行时错误或非运行时异常时运行的一个块。char :Java语言的一个关键字,用来定义一个字符类型 abstract boolean break byte case catch char class continue default do double else extends final finally float for if implements import instanceof int interface long native new package private protected public return short static super switch synchronized this throw throws transient try void volatile while 详细介绍

C++中explicit关键字的作用

C++中explicit关键字的作用 explicit用来防止由构造函数定义的隐式转换。 要明白它的作用,首先要了解隐式转换:可以用单个实参来调用的构造函数定义了从形参类型到该类类型的一个隐式转换。 例如: class things { public: things(const std::string&name = ""): m_name(name),height(0),weight(10){} int CompareTo(const things & other); std::string m_name; int height; int weight; }; 复制代码 这里things的构造函数可以只用一个实参完成初始化。所以可以进行一个隐式转换,像下面这样: things a; ................//在这里被初始化并使用。 std::string nm = "book_1"; //由于可以隐式转换,所以可以下面这样使用 int result = https://www.wendangku.net/doc/566458541.html,pareTo(nm); 复制代码 这段程序使用一个string类型对象作为实参传给things的CompareTo函数。这个函数本来是需要一个tings对象作为实参。现在编译器使用string nm来构造并初始化一个things对象,新生成的临时的things对象被传递给CompareTo函数,并在离开这段函数后被析构。 这种行为的正确与否取决于业务需要。假如你只是想测试一下a的重量与10的大小之比,这么做也许是方便的。但是假如在CompareTo函数中还涉及到了要除以初始化为0的height 属性,那么这么做可能就是错误的。需要在构造tings之后更改height属性不为0。所以要限制这种隐式类型转换。 那么这时候就可以通过将构造函数声明为explicit,来防止隐式类型转换。

Java基础语法考试题

学士后Java阶段测试-U1单元-笔试试卷1 考试时间 60分钟 选择题(共50题,每题2分,满分100分) 1) 在Java类中,使用以下()声明语句来定义公有的int型常量MAX。 A. public int MAX = 100; B. final int MAX = 100; C. public static int MAX = 100; D. public static final int MAX = 100; 2) 在Java中,下列关于方法重载的说法中错误的是()(多选)。 A. 方法重载要求方法名称必须相同 B. 重载方法的参数列表必须不一致 C. 重载方法的返回类型必须一致 D. 一个方法在所属的类中只能被重载一次 3) 给定Java代码如下所示,在横线处新增下列()方法,是对cal方法的重 载。(多选) public class Test{ public void cal(int x, int y, int z) {} ________________ } A. public int cal(int x, int y, float z){ return 0; } B. public int cal(int x, int y, int z){ return 0; } C. public void cal(int x, int z){ } D. public void cal(int z, int y, int x){ } 4) 在Java中,下面对于构造函数的描述正确的是()。 A. 类必须显式定义构造函数 B. 构造函数的返回类型是void C. 构造函数和类有相同的名称,并且不能带任何参数 D. 一个类可以定义多个构造函数 5) 下面Java代码的运行结果是()。 class Penguin { private String name=null; // 名字 private int health=0; // 健康值 private String sex=null; // 性别 public void Penguin() { health = 10; sex = "雄"; System.out.println("执行构造方法。");

(简历搜索篇:)用好关键字让简历搜索更随心

用好关键字,让简历搜索更随心 搜索简历之前,你得先要在搜索框输入一个或多个词语,才可以进行简历搜索。这一个或多个词语就是我们所说的关键字。 关键字是能够最大程度概括你所要查找的简历信息的字或词语,往往描述了简历的主要特征或核心内容,很多时候需要多个关键字才能准确完整地描述一个对象。 关键字搜索是通过字符的匹配原则来对简历进行筛选,只要简历中任何一部分文字描述包含了所搜索的关键字或关键词组,简历便会被搜索引擎检索出来,最终就会显示在搜索结果页面啦。 例如:公司招聘财务人员,可以输入关键字“财务”或“会计”等相关词汇,只要简历中任一模块内容包含“财务”或“会计”词汇都可以被搜索出来。 所以要想搜索到合适的简历,你可要好好选择关键字哦。 为什么搜索到的简历总是不合心意?为什么搜到的简历好像与关键字没什么关系?出现这种问题都是关键字没选好的缘故,下面我们就来说说如何选择关键字吧。 1、从工作内容、任职要求、岗位名称中提炼关键字 关键字要用得准确,需要对招聘岗位有非常透彻的理解,同时还要了解一个有相关资质或有相关工作经验的求职者会如何撰写他的简历,在简历中可能会出现的关键字,这些关键字就可以作为我们用于搜索的关键字。对招聘岗位而言,招聘人员可以从所招聘岗位的名称、工作内容、能力要求着手,去对简历进行检索。 (1)从工作内容中提炼关键字,进行相关搜索。 例如:我们要招聘一个HR专员,主要负责HR的薪酬福利部分工作,如果我们仅用“HR”或“人力资源”去搜索时,会有很多HR相关的简历,但是在薪酬福利方面有丰富经验的简历的比例就很低。而有薪酬福利方面工作经验的求职者,一般都会在其简历中,提到自己熟悉或精通“薪酬福利”模块。这时我们就可以使用“人力资源,薪酬福利”来搜索即包含“人力资源”又包含“薪酬福利”的简历,这样结果虽然减少一些,却准确很多。但如果单用“薪酬福利专员”去搜索符合条件可能就会比较有限了,因为不是每一个公司都会设定这个职位,即使有设定职位名称也不一定完全一样,如果单用职位名称搜索就会比较受限,我们便可以根据相关的工作内容“薪酬福利”来进行搜索,扩展候选人范围。 (2)从岗位名称、任职要求中找寻合适的关键字,进行相关搜索。 例如:我们想要招一个高级JAVA软件工程师,具体要求如下所示 职位名称:高级JAVA软件工程师 职位描述: - 浏览器/服务器前后台程序开发; - 基础框架开发; - 技术文档编写;

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++ 中的 explicit 关键字

认识C++ 中的explicit 关键字 (Danny Kalev发表于2004-12-28 11:01:04) 带单一参数的构造函数在缺省情况下隐含一个转换操作符,请看下面的代码: class C { int i; //... public: C(int i);//constructor and implicit conversion operator //as well }; void f() { C c(0); c = 5; //将5 隐式转换为C 对象,然后赋值 } 编译器重新编辑上述例子代码,如下: ////////////////////////////////////////////////////////////////////////////////////////// //"c=5;" 被编译器转换成下面这个样子: ///////////////////////////////////////////////////////////////////////////////////////// C temp(5);// 实例化一个临时对象, c = temp; // 用= 赋值 temp.C::~C(); // temp 的析构函数被激活 在很多情况下,这个转换是有意的,并且是正当的。但有时我们不希望进行这种自动的转换,例如: class String { int size; char *p; //.. public: String (int sz); //这里不希望进行隐式转换操作 }; void f () { String s(10); // 下面是一个程序员的编码;发生一个意想不到的转换:

super关键字用法

使用super来引用父类的成分,用this来引用当前对象一、super关键字 在JAVA类中使用super来引用父类的成分,用this来引用当前对象,如果一个类从另 外一个类继承,我们new这个子类的实例对象的时候,这个子类对象里面会有一个父类对象。怎么去引用里面的父类对象呢?使用super来引用,this指的是当前对象的引用,super是当前对象里面的父对象的引用。 1.1.super关键字测试 1package cn.galc.test; 2 3/** 4 * 父类 5 * @author gacl 6 * 7*/ 8class FatherClass { 9public int value; 10public void f() { 11 value=100; 12 System.out.println("父类的value属性值="+value); 13 } 14 } 15 16/** 17 * 子类ChildClass从父类FatherClass继承 18 * @author gacl 19 * 20*/ 21class ChildClass extends FatherClass { 22/**

23 * 子类除了继承父类所具有的valu属性外,自己又另外声明了一个value属性, 24 * 也就是说,此时的子类拥有两个value属性。 25*/ 26public int value; 27/** 28 * 在子类ChildClass里面重写了从父类继承下来的f()方法里面的实现,即重写了f()方法的方法体。 29*/ 30public void f() { 31super.f();//使用super作为父类对象的引用对象来调用父类对象里面的f()方法 32 value=200;//这个value是子类自己定义的那个valu,不是从父类继承下来的那个value 33 System.out.println("子类的value属性值="+value); 34 System.out.println(value);//打印出来的是子类自定义的那个value的值,这个值是200 35/** 36 * 打印出来的是父类里面的value值,由于子类在重写从父类继承下来的f()方法时, 37 * 第一句话“super.f();”是让父类对象的引用对象调用父类对象的f()方法, 38 * 即相当于是这个父类对象自己调用f()方法去改变自己的value 属性的值,由0变了100。 39 * 所以这里打印出来的value值是100。 40*/ 41 System.out.println(super.value); 42 } 43 } 44 45/** 46 * 测试类 47 * @author gacl 48 * 49*/ 50public class TestInherit { 51public static void main(String[] args) { 52 ChildClass cc = new ChildClass();

搜索引擎符号的使用

对于搜索中文内容,百度,腾讯等中国人创造的搜索引擎搜索出来的内容比较准确,而google,雅虎等则搜索英文内容比较准确,现在比较有名的还有360,新浪,网易等搜索引擎。 搜索引擎特殊符号 不同的搜索引擎提供的查询方法不完全相同,你要想具体了解,可以到各个网站中去查询,但有一些通用的查询方法,各个搜索引擎基本上都具有。由于使用目录查询比较简单,你只需确定要查找目标所在的目录,然后一层层打开,逐步细化就可以找到。 1、简单查询 在搜索引擎中输入关键词,然后点击“搜索”就行了,系统很快会返回查询结果,这是最简单的查询方法,使用方便,但是查询的结果却不准确,可能包含着许多无用的信息。} 2、使用双引号用(" ") 给要查询的关键词加上双引号(半角,以下要加的其它符号同此),可以实现精确的查询,这种方法要求查询结果要精确匹配,不包括演变形式。例如在搜索引擎的文字框中输入“电传”,它就会返回网页中有“电传”这个关键字的网址,而不会返回诸如“电话传真”之类网页。 3、使用加号(+) 在关键词的前面使用加号,也就等于告诉搜索引擎该单词必须出现在搜索结果中的网页上,例如,在搜索引擎中输入“+电脑+电话+传真”就表示要查找的内容必须要同时包含“电脑、电话、传真”这三个关键词。 4、使用减号(-) 在关键词的前面使用减号,也就意味着在查询结果中不能出现该关键词,例如,在搜索引擎中输入“电视台-中央电视台”,它就表示最后的查询结果中一定不包含“中央电视台”。 5、使用通配符(*和?) 通配符包括星号(*)和问号(?),前者表示匹配的数量不受限制,后者匹配的字符数要受到限制,主要用在英文搜索引擎中。例如输入“computer*”,就可以找到“computer、computers、computerised、computerized”等单词,而输入“comp?ter”,则只能找到“computer、compater、competer”等单词。 6、使用布尔检索 所谓布尔检索,是指通过标准的布尔逻辑关系来表达关键词与关键词之间逻辑关系的一种查询方法,这种查询方法允许我们输入多个关键词,各个关键词之间的关系可以用逻辑关系词来表示。

java期末考试知识点总结

java知识点总结 应同学要求,特意写了一个知识点总结,因比较匆忙,可能归纳不是很准确,重点是面向对象的部分。 java有三个版本:JAVA SE 标准版\JAVA ME移动版\JAVA EE企业版 java常用命令:java, javac, appletview java程序文件名:.java, .class java的两类程序:applet, application; 特点,区别,这两类程序如何运行 java的主方法,主类,共有类;其特征 java的数据类型,注意与C++的不同,如字符型,引用型,初值 java与C++的不同之处,期中已总结 java标记符的命名规则 1)标识符有大小写字母、下划线、数字和$符号组成。 2)开头可以是大小写字母,下划线,和$符号(不能用数字开头) 3)标识符长度没有限制 4)标识符不能使关键字和保留字 面向对象的四大特征 抽象、封装、继承、多态 封装,类、对象,类与对象的关系,创建对象,对象实例变量 构造函数,默认构造函数,派生类的构造函数,构造函数的作用,初始化的顺序,构造方法的重载 构造函数:创建对象的同时将调用这个对象的构造函数完成对象的初始化工作。把若干个赋初值语句组合成一个方法在创建对象时一次性同时执行,这个方法就是构造函数。是与类同名的方法,创建对象的语句用new算符开辟了新建对象的内存空间之后,将调用构造函数初始化这个新建对象。 构造函数是类的特殊方法: 构造函数的方法名与类名相同。 构造函数没有返回类型。 构造函数的主要作用是完成对类对象的初始化工作。 构造函数一般不能由编程人员显式地直接调用。 在创建一个类的新对象的同时,系统会自动调用该类的构造函数为新对象初始化。 类的修饰符:public类VS 默认; abstract类; final类; 1)类的访问控制符只有一个:public,即公共的。公共类表明它可以被所有其他类访问和引用。 若一个类没有访问控制符,说明它有默认访问控制特性,规定该类智能被同一个包中的类访问引用(包访问控制)。 2)abstract类:用abstract修饰符修饰的类被称为抽象类,抽象类是没有具体对象的概念类,抽象类是它所有子类的公共属性集合,用抽象类可以充分利用这些公共属性来提高开发和维护效率。 3)final类:被final修饰符修饰限定的,说明这个类不能再有子类。所以abstract与final 不能同时修饰一个类。 域和方法的定义 1)域:定义一个类时,需要定义一组称之为“域”或“属性”的变量,保存类或对象的数据。

Java super关键字用法源代码

public class HelloWorld { public static void main(String[] args) { Dog d=new Dog(); d.shout(); d.printName(); } } class Animal{ String name="动物"; void shout() { System.out.println("动物发出叫声"); } } class Dog extends Animal{ String name="犬类"; void shout() { super.shout();//使用super关键字访问父类的成员方法} public void printName() { System.out.println("它的名字是name="+https://www.wendangku.net/doc/566458541.html,); //使用super关键字访问父类的成员变量

} public class HelloWorld { public static void main(String[] args) { Dog d=new Dog(); } } class Animal{ String name="动物"; public Animal(String name){ System.out.println("它是一只"+name); } void shout() { System.out.println("动物发出叫声"); } } class Dog extends Animal{ String name="犬类"; public Dog() { super("二哈");

关键词的使用在搜索引擎中的技巧

搜索技巧,最基本同时也是最有效的,就是选择合适的查询词。选择查询词是一种经验积累,在一定程度上也有章可循: 一、.表述准确百度会严格按照您提交的查询词去搜索,因此,查询词表述准确是获得良好搜索结果的必要前提。 一类常见的表述不准确情况是,脑袋里想着一回事,搜索框里输入的是另一回事。 例如,要查找2008年国内十大新闻,查询词可以是“2008年国内十大新闻”;但如果把查询词换成“2008年国内十大事件”,搜索结果就没有能满足需求的了。 另一类典型的表述不准确,是查询词中包含错别字。 例如,要查找林心如的写真图片,用“林心如写真”,当然是没什么问题;但如果写错了字,变成“林心茹写真”,搜索结果质量就差得远了。 不过好在,百度对于用户常见的错别字输入,有纠错提示。您若输入“林心茹写真”,在搜索结果上方,会提示“您要找的是不是: 林心如写真”。 二、查询词的主题关联与简练目前的搜索引擎并不能很好的处理自然语言。因此,在提交搜索请求时,您最好把自己的想法,提炼成简单的,而且与希望找到的信息内容主题关联的查询词。 还是用实际例子说明。某三年级小学生,想查一些关于时间的名人名言,他的查询词是“小学三年级关于时间的名人名言”。 这个查询词很完整的体现了搜索者的搜索意图,但效果并不好。 绝大多数名人名言,并不规定是针对几年级的,因此,“小学三年级”事实上和主题无关,会使得搜索引擎丢掉大量不含“小学三年级”,但非常有价值的信息;“关于”也是一个与名人名言本身没有关系的词,多一个这样的词,又会减少很多有价值信息;“时间的名人名言”,其中的“的”也不是一个必要的词,会对搜索结果产生干扰;“名人名言”,名言通常就是名人留下来的,在名言前加上名人,是一种不必要的重复。 因此,最好的查询词,应该是“时间名言”。 试着找出下述查询词的问题,并想出更好的能满足搜索需求的查询词: 所得税会计处理问题探讨 周星驰个人档案和所拍的电影 三、根据网页特征选择查询词很多类型的网页都有某种相似的特征。例如,小说网页,通常都有一个目录页,小说名称一般出现在网页标题中,而页面上通常有“目录”两个字,

Java关键字final使用总结

Java关键字final使用总结 一、final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能被子类的方法覆盖,但可以被继承。 final成员变量表示常量,只能被赋值一次,赋值后值不再改变。 final不能用于修饰构造方法。 注意:父类的private成员方法是不能被子类方法覆盖的,因此private 类型的方法默认是final类型的。 1、final类 final类不能被继承,因此final类的成员方法没有机会被覆盖,默认都是final的。在设计类时候,如果这个类不需要有子类,类的实现细节不允许改变,并且确信这个类不会载被扩展,那么就设计为final类。 2、final方法 如果一个类不允许其子类覆盖某个方法,则可以把这个方法声明为final 方法。 使用final方法的原因有二: 第一、把方法锁定,防止任何继承类修改它的意义和实现。 第二、高效。编译器在遇到调用final方法时候会转入内嵌机制,大大提高执行效率。 例如:

3、final变量(常量) 用final修饰的成员变量表示常量,值一旦给定就无法改变! final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。 从下面的例子中可以看出,一旦给final变量初值后,值就不能再改变了。 另外,final变量定义的时候,可以先声明,而不给初值,这中变量也称为final空白,无论什么情况,编译器都确保空白final在使用之前必须被初始化。但是,final空白在final关键字final的使用上提供了更大的灵活性,为此,一个类中的final 数据成员就可以实现依对象而有所不同,却有保持其恒定不变的特征。

Java程序设计课堂练习题

《Java程序设计》练习题 第一章 Java编程基础 一、选择题 1、可以使用【】实用程序编译Java程序。 A.java B.javac C.javadoc D.cmd 2、可以使用【】实用程序运行java应用程序。 A.java B.javac C.javadoc D.cmd 3、可以使用【】实用程序从Java源文件代码中抽取Java文档注释,生成相应的HTML帮助文档。 A.java B.javac C.javadoc D.cmd 4、Java编译单元(源程序文件)的扩展名为【】 A..java B..class C..doc D..exe 5、编译Java源程序文件产生的字节码文件的扩展名为【】 A..java B..class C..html D..exe 6、以下Java应用程序执行入口main方法的声明中,正确的是【】 A、public static void main() B、public static void main(String[] args) C、public static int main(String[] args) D、public void main(String[] args) 7、Java属于以下哪种语言?【】 A.机器语言 B.汇编语言C.高级语言 D.以上都不对 8、下面哪种类型的文件可以在Java虚拟机中运行?【】 A..java B..jre C..exe D..classs 9、Java程序中声明包的关键字是【】 A、java B、package C、javadoc D、cmd 10、如果JDK的安装路径为“d:\jdk”,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项?【】 A、d:\jdk; B、d:\jdk\bin; C、d:\jre\bin; D、d:\jre; 11、下列说法中,不正确的是【】。 A、一个Java源文件编译通过后,得到的结果文件数也只有一个 B、一个Java源文件经过编译后,得到的文件的扩展名一定是.class C、一个Java源文件只能有一个public类定义,其类名与源文件名相同 D、一个Java源文件可以包含多个类

super关键字

如果子类中定义的成员变量和父类中成员变量同名时,子类就隐藏了从父类继承的成员变量。当子类中定义了一个方法,并且这个方法的名字、返回类型、参数个数和类型和父类的某个方法完全相同盟时,子类从父类继承的这个方法将被隐藏。如果在子类中想使用被隐藏的成员变量或方法就可以使用关键字 super。 1 使用关键字super调用父类的构造方法 子类不继承父类的构造方法,因此,子类如果想使用父类的构造方法,必须在子类的构造方法中使用,并且必须使用关键字super来表示,而且super必须是子类构造方法中的关一条语句,如例子4.23所示. 例子4.23 class Student { int number; String name; public Student() { } public Student(int number,String name) { this.number=number; https://www.wendangku.net/doc/566458541.html,=name; System.out.println(" I am "+name+" my number is "+ number); } } class Univer_Student extends Student { boolean marry; public Univer_Student(int number,String name,boolean b) { super(number,name); marry=b; System.out.println("婚否=" + marry); }

} public static void Example4_23 { public static void main(String args[]) { Univer_Student zhang=new Univer_Student(9901,"和晓林",false); } } 运行结果: I am 和晓林my number is 9901 婚否=false; 需要注意的是:如果在子类的构造方法中,没有使用关键字super调用父类的某个构造方法,那么默认有 super(); 语句,即调用父类的不带参数的构造方法。 如果类时定义了一个或多个构造方法,那么Java不提供默认的构造方法(不带参数的构造方法),因此,当在父类中定义多个构造方法时,应当包括一个不带参数的构造方法,以防子类省略super时出现错 误。

搜索引擎中运算符的使用技巧

搜索引擎中运算符的使用技巧 、简单查询 折叠1 在搜索引擎中输入关键词,然后点击“搜索”就行了,系统很快会返回查询结果,这是最简单的查询方法,使用方便,但是查询的结果却不准确,可能包含着许多无用的信息。 、使用双引号用("") 折叠2 给要查询的关键词加上双引号(半角,以下要加的其它符号同此),可以实现精确的查询,这种方法要求查询结果要精确匹配,不包括演变形式。例如在搜索引擎的文字框中输入“电传”,它就会返回网页中有“电传”这个关键字的网址,而不会返回诸如“电话传真”之类网页。 、使用加号(+) 折叠3 在关键词的前面使用加号,也就等于告诉搜索引擎该单词必须出现在搜索结果中的网页上,例如,在搜索引擎中输入“+电脑+电话+传真”就表示要查找的内容必须要同时包含“电脑、电话、传真”这三个关键词。 、使用减号(-) 折叠4 在关键词的前面使用减号,也就意味着在查询结果中不能出现该关键词,例如,在搜索引擎中输入“电视台-中央电视台”,它就表示最后的查询结果中一定不包含“中央电视台”。 、使用通配符(*和?) 折叠5 通配符包括星号(*)和问号(?),前者表示匹配的数量不受限制,后者匹配的字符数要受到限制,主要用在英文搜索引擎中。例如输入“computer*”,就可以找到“computer、computers、computerised、computerized”等单词,而输入“comp?ter”,则只能找到“computer、compater、competer”等单词。 、使用布尔检索 折叠6 所谓布尔检索,是指通过标准的布尔逻辑关系来表达关键词与关键词之间逻辑关系的一种查询方法,这种查询方法允许我们输入多个关键词,各个关键词之间的关系可以用逻辑关系词来表示。and,称为逻辑“与”,用and进行连接,表示它所连接的两个词必须同时出现在查询结果中,例如,输入“computer and book”,它要求查询结果中必须同时包含computer 和book。or,称为逻辑“或”,它表示所连接的两个关键词中任意一个出现在查询结果中就可以,例如,输入“computer or book”,就要求查询结果中可以只有computer,或只有book,或同时包含computer和book。not,称为逻辑“非”,它表示所连接的两个关键词中应从第一个关键词概念中排除第二个关键词,例如输入“automobile not car”,就要求查询的结果中包含automobile(汽车),但同时不能包含car(小汽车)。near,它表示两个关键词之间的词距不能超过n个单词。在实际的使用过程中,你可以将各种逻辑关系综合运用,灵活搭配,以便进行更加复杂的查询。 、使用括号 折叠7 当两个关键词用另外一种操作符连在一起,而你又想把它们列为一组时,就可以对这两个词加上圆括号。 、使用元词检索 折叠8 大多数搜索引擎都支持“元词”(metawords)功能,依据这类功能用户把元词放在关键词的前面,这样就可以告诉搜索引擎你想要检索的内容具有哪些明确的特征。例如,你在搜索引擎中输入“ti tle:清华大学”,就可以查到网页标题中带有清华大学的网页。在键入的关键词后加上“domainrg”,就可以查到所有以org为后缀的网站。其他元词还包括:image:用于检索图片,link:用于检索链接到某个选定网站的页面,URL:用于检索地址中带有某个关键词的网页。 、区分大小写 折叠9 这是检索英文信息时要注意的一个问题,许多英文搜索引擎可以让用户选择是否要求区分关键词的大小写,这一功能对查询专有名词有很大的帮助,例如:Web专指万维网或环球网,而web则表示蜘蛛网。

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笔记(super关键字的使用)

super 关键字的使用 super 关键字出现在子类中,主要功能就是完成子类调用父类中的内容,也就是调用父类中的属性或方法。 super 调用父类中的构造方法: class Person { String name; int age; public Person(String name,int age) { https://www.wendangku.net/doc/566458541.html,=name; this.age=age; } } class Student extends Person { String school; public Student() { super("张三",27); } } public class TestPersonStudentDemo { public static void main(String args[]) { Student s=new Student(); S.shchool=”北京”; System.out.println("我是:"+https://www.wendangku.net/doc/566458541.html,+",今年:"+s.age+"岁,学校:"+s.school) ; } } 输出结果为:我是张三,今年27岁,学校:北京 本程序在子类的构造方法中明确地指明了调用的是父类中有两个参数的构造方法,所以程序在编译时不再去找父类中无参的构造方法。 用super 调用父类中的构造方法,只能放在子类的第一行。 通过super 调用父类的属性和方法: class Person 父类构造方法 子类构造方法 调用父类构造方法

{ String name; int age; public Person() { } public String talk() { return "我是:"+https://www.wendangku.net/doc/566458541.html,+",今年:"+this.age+"岁"; } } class Student extends Person { String school; public Student(String name,int age,String school) { //在这里用super 调用父类中的属性 https://www.wendangku.net/doc/566458541.html,=name; super.age=age; //调用父类中的talk()方法 System.out.print(super.talk()); //调用本类中属性 this.school=school; } } public class TestPersonStudentDemo3 { public static void main(String args[]) { Student s=new Student("张三",27,"北京"); System.out.println(",学校:"+s.school); } } 输出结果为: 我是:张三,今年:27岁,学校:北京 限制子类的访问 有些时候,父类并不希望子类可以访问自己的类中全部的属性或方法,所以需要将一些属性父类构造方法 子类构造方法 父类一般方法

相关文档