- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JAVA中一些需要特别注意的地方
一、JAVA -SE部分:
1. 关于引用传递的问题:
所谓的引用传递,就是将一个堆内存空间的使用权给多个栈内存空间,每个栈内存空间都可以修改堆内存中的内容
所有的对象名称都在栈内存中保存,而对象的具体内容 则保存在对应的堆内存中,更准确的说法就是在栈内存中实际保存的是堆内存空间的访问地址
具体内存分配如下:
Person per=new Person( );
例如现在new一个对象:
Person per1=new Person( );
现在又有如下语句:Person per2=null; per2=per1;
那么设置per2对象的内容实际上就是设置per1对象的内容,假如per1对象的name、age属性值分别为“张三”、23,那么通过以下语句可以修改per1对象的属性值:
=李四 ; per2.age=32; 那么:
P=李四 ; per1.age=32;
注意:匿名对象只在堆内存中开辟空间,而不会在栈内存中开辟空间
2.length和length( )的区别:
使用length取得数组的长度
使用length( )方法取得字符串的长度
访问控制权限:
(1)private访问权限:private属于私有访问权限,可以用在属性的定义、方法的声明 上,一旦使用了private关键字声明,则只能在本类中访问;
(2)default(默认)访问权限:如果一个类中的属性或方法没有使用任何的访问权限声明, 则就是默认的访问权限,默认的访问权限可以被本包中的其 他类所访问,但是不能被其他包中的类所访问;
(3)protected访问权限:protected属于受保护的访问权限,一个类中的成员如果使用了 protected访问权限,则只能被本包及不同包的子类所访问;
(4)public访问权限:public属于公共访问权限,如果一个类中的成员使用了public访 问权限,就可以被所有的类访问,不管是不是在同一个包中。
对以上所述列表如下:
① 类访问修饰符
序号 说明 1 类的修饰符只有public和default两个; 2 public修饰类时表示任何包的其它类都可以访问该类; 3 访问修饰符为default时只有在同一个包里的类才能访问它,其他包里的都不行; 4 类的构造函数(构造器) 不能用final、abstract、synchronized、native、static等关键字进行修饰; 5 特殊说明:成员内部类除了可以用成4种员访问修饰符外,还可以用static修饰;
局部内部类只能使用abstract或者final修饰。
② 成员访问修饰符(public、protected、default、private)
序号 规则说明 1 java的成员访问修饰符有4种:public、private、protected、default 2 public static == static public; 3 类的成员访问修饰符的详细描述如下:(√表示允许访问,×表示不能访问) visibility public protected default private 在本类中能否访问 √ √ √ √ 在同一个包中不同的类中能否访问 √ √ √ × 在不同包的子类中能否访问 √ √ × × 在不同的包中不同的类中能否访问 √ × × × 综合上表,访问修饰符的访问权限为:publicprotecteddefaultprivate
4. 关于==和equals的区别:
例如以下程序:
public class StringDemo{
public static void main(String[] args){
String str1=hello ;
String str2=new String(hello);
String str3=str2 ;
System.out.println( str1==str2);
System.out.println( str1==str3);
System.out.println( str2==str3);
}
}
程序的输出结果
文档评论(0)