Java学习笔记二
来源:互联网 发布:球幕融合软件 编辑:程序博客网 时间:2024/05/19 17:25
一个程序的内存划分:
栈内存:存放对象名称,实际上是存放的对堆的引用地址;
堆内存:存放属性;
全局代码区:存放所有的操作方法;
全局数据区:存放所有的static属性。
数组的命名:
数据类型 数组名称[] = new 数据类型[数组长度];
面向对象的三大特征其实是有顺序的,依次是:封装、继承、多态。【慢慢理解……】
String的两类构造方法:
String str1 = new String("Hello");
或者:String str2 = "world";
以上两种构造方法是有区别的,第一种方法会在执行的时候开辟两个内存空间,第二种方法则是开辟了一个内存空间。因此在初始化String对象的时候尽量不要使用String str1 = new String("Hello");这种方法。
"==" & equals()
“==”在比较字符串的时候是比较两端变量的地址值,而equals()则比较的是两端变量的值。因此在比较字符串的时候只能使用equals而不能使用==。
字符串的内容一旦声明之后是无法修改的,我们看到的字符串变量的改变仅仅是改变了内存空间的地址指向,实际上的内容还是停留在内存里面等待JVM回收机制的回收。
以下类似方法禁止使用,会造成程序运行效率非常低下:
String str = "Hello";
for(int i = 0 ; i < str.length(); i++ ){
str += i ; //这样做会使字符串变量和实际的字符串存放内存断开链接和重新建立链接100次。。。
}
String类常用操作方法:
charAt();tochararray(); concat(); getbytes();startswith();endswith();replaceall();substring();split();indexof();contains();trim();touppercase();tolowercase();length();
更多方法请查看相关版本的API:
1.7 http://download.csdn.net/detail/liuzhaopds/3681194
1.5 http://download.csdn.net/detail/liuzhaopds/3681176
注意java中“|”表示或操作,如果想要字符串按照“|”来分离的话,必须在“|”前面使用“\\”来构成“\\|”。只有这样才能实现字符串按照“|”分离。
this关键字用来表示当前对象。this()如果想用在构造方法中必须写在构造方法的第一行,并且构造方法不能递归调用。
static关键字:static方法只能调用static属性和方法,不能调用非static属性和方法,因此在public static void main(String args[]){...}中类以外的方法如果想要被main方法调用,则必须输入static关键字。
分析:public static void main(String args[]){...}
public 表示公有
static 表示静态
void 表示无返回值
main 是系统内建的方法名
String args[] String类型的数组,用于接收java 文件名 参数1,参数2,。。。中的参数。
系统退出的命令是system.exit(1)。括号中可以写任意非零参数。
声明一个对象数组: 类名称 数组名称[] = new 类名称[数组长度];
只允许被实例化一次的类的设计:
class Single{ private static Single instance = new Single() ; private Single(){ // 将构造方法私有化 } public static Single getInstance(){ return instance ; } public void print(){ System.out.println("hello world!!!") ; }};public class SingleDemo{ public static void main(String args[]){ Single s = null ; // 声明对象 s = Single.getInstance() ; // 实例化对象 s.print() ; }};
static可以统计一个类的实例化次数,也可以对类中的属性自动命名。
- JAVA学习笔记(二)
- JAVA学习笔记二
- Java学习笔记二
- java学习笔记二
- JAVA学习笔记《二》
- Java学习笔记二
- Java学习笔记二
- java学习笔记(二)
- java学习笔记二
- java学习笔记二
- java学习笔记二
- Java学习笔记二
- Java 学习笔记二
- java学习笔记二
- Java学习笔记二
- Java学习笔记二
- JAVA学习笔记二
- java学习笔记二
- iOS--wiki的描述
- iPhone 4S全面评述(3):软件
- Windows Phone开发之 禁用back键
- 重磅分享:微软面试100题2010年版全部答案完整亮相
- servlet的应用和http协议介绍
- Java学习笔记二
- 用lnmp一键安装包搭建nginx+mysql+php生产环境实战
- discuz7.2 目录结构说明
- 3D 渲染管线导论 读书笔记
- 编译Android源码时常见问题以及解决方法
- VC调用word时,怎样才能隐藏word的某些菜单项
- Eclipse常用插件(全部实际使用过)
- 安装gcc,kernel
- iphone 对NSMutableArray数组排序