java重难点问题剖析--实例讲解好理解

java重难点问题剖析--实例讲解好理解

ID:1712382

大小:48.37 KB

页数:41页

时间:2017-11-13

java重难点问题剖析--实例讲解好理解_第1页
java重难点问题剖析--实例讲解好理解_第2页
java重难点问题剖析--实例讲解好理解_第3页
java重难点问题剖析--实例讲解好理解_第4页
java重难点问题剖析--实例讲解好理解_第5页
资源描述:

《java重难点问题剖析--实例讲解好理解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、·JAVA重难点问题剖析(一) 这次主要剖析以下四个问题:构造函数定义问题、类实例化时的歧义、equals和==、protected成员的访问问题一、(1)构造函数前不加void,否则变为方法,只能加可访问性修饰。publicclassName{  voidName(){  System.out.println("Method"); } publicstaticvoidmain(String[]args){  Namen=newName();  }}无输出,去void则输入Method;(2)如

2、果需要在不同包的类中使用构造函数创建对象必须前面加上public;二、类实例化时的歧义问题(1)单类形导入(即importp1.TestC而非importp1.*)时用此类实类化;(2)完全标示名解决歧义问题p1.TestCb=newp1.TestC()packagep1;  //定义第一个类publicclassTestC{ publicTestC(){System.out.println("p1");}}packagep2;  //定义第二个类publicclassTestC{  TestC

3、(){System.out.println("p2");}}packagep2;  //定义第三个类importp1.*; //(1)publicclassTestB{ publicstaticvoidmain(String[]args){  TestCc=newTestC();//(2)  }} 输出p2,若要输出p1,可将(1)处改为importp1.TestC或者将(2)处改为p1.TestCb=newp1.TestC();三、数值、对象比较问题java.lang.object类中的equ

4、al()方法:publicbooleanequals(Objectobj){ return(this==obj);   }java.lang.string类中覆盖object中的equals()方法:   publicbooleanequals(ObjectanObject){ if(this==anObject){    returntrue; } if(anObjectinstanceofString){    StringanotherString=(String)anObject;   

5、 intn=count;    if(n==anotherString.count){  charv1[]=value;  charv2[]=anotherString.value;  inti=offset;  intj=anotherString.offset;  while(n--!=0){     if(v1[i++]!=v2[j++])   returnfalse;  }  returntrue;    } } returnfalse;   }例子:classTest{ Strings

6、; Test(Strings){  this.s=s; }}publicclassFyz{ publicstaticvoidmain(String[]args){    Strings1=newString("hello");  Strings2=newString("hello");  TestT1=newTest("JAVA");  TestT2=newTest("JAVA");  System.out.println(s1.equals(s2));//true:String、Boolean

7、等类的equals覆盖了object的,比较的不再是对象而是数值  System.out.println(T1.equals(T2));//false:没有覆盖object的,所以比较的仍然是对象  System.out.println(S1==s2);       //false:==比较的是对象,无论是什么对象;  System.out.println(T1==T2);       //false:同上  T2=T1;                            //使引用变量T1

8、、T2都成为同一对象的别名  System.out.println(T1.equals(T2));//true:对象相同  System.out.println(T1==T2);   //true:同上  }}四、若在不同包中子类使用对象引用来访问父类的protected成员,必须将对象实例化为子类对象,而不能实例为父类对象来访问,即子类只能以实现继承层次中的身份访问其超类的protected成员。相同包子类中使用对象引用的类型都可以。packagetest1;publicclassA{  pu

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

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

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