zoukankan      html  css  js  c++  java
  • 使用eclipse学习java第一课

    第一节:

    1. eclipse新建java的工程
    2. 在工程中新建package
    3. 在package中新建类,这个地方就需要注意package中可以新建多个类,并且新建的多个类不需要想C++一样添加添加头文件啥的才能使用类,只要在一个package中就可以直接使用其中的所有类。当然将所有的类卸载一个文件中也是可以的。main文件应该只需要有一个就行了,这个问题还没有测试。

    第二节:

    1. System.out.println和System.out.print的区别:前者打印完毕之后会自动换行,而后者不会自动换行。
    2. 和C/C++的区别:java会自己给变量初始化,数值型:0;布尔行:false;其他:null;
    3. 在一个.java文件中,有且只能有一个类带有public关键字.

    第三节:

    1. java中interface的作用。interface就是定义了一个公共接口,如果你的类是implements某个interface,那么在该类中就必须要实现interface中的所有方法,不然就会报错。当然不在interface里面的方法是可以随便写的,不受限制。interface就我的理解来说,应该是为了增加通用性。
    2. 一个类可以implements多个interface,当然对应的就是多个interface中的方法在类中都必须实现了!
    3. interface中的方法在类中实现的时候都必须是public的,不然就会报错。

    第四节:

    1. 前面有说,每个保重只能有一个public的类,而public的类的类名和.java的文件名必须一致!就是因为名字不一样吃亏的!问题还是字母顺序打错了吃的亏!难找啊!
    2. 包之间进行import的时候,如果其他包里面的类不是public的是不能在另外的包里面引用的!切记!
    3. 类中的static变量是所有的对象共享的。也就是说所有的对象获取到的static变量值是一致的。static变量只能使用static函数进行修改和获取,不然在其他类中调用的时候会报错。static变量和函数在调用的时候使用"类名.变量/函数"而不是“对象名.变量/函数”,虽然第二种形式也可以获取,但是会有警告。为了区别和代码的易读性,建议使用第一种方式撰写static变量和函数的调用!

    第五节:

    1. 抽象(abstract)方法不用写出具体实现,只需要在继承的子类中实现即可。如果一个类中有抽象方法,类则必须是抽象类;
    2. 继承抽象类的衍生类必须实现抽象类中的抽象方法,不然给衍生类也必须是抽象类!其他和正常类继承一致。
    3. 引用和对象;Human aPerson这是一个引用,类似于c和c++中的指针,这个引用存在与程序的栈内存中;new Human()这个才是在堆内存分配对象使用的内存。所以Human otherPerson=aPerson中otherPerson和aPerson两个引用指向的是同一个Human对象,只要使用一个引用对对象中的变量进行修改,另一个引用获取到的这个变量也就改变了。其实就是说上面的两个引用就是一个东西!!所以要注意,当传递的参数是引用的时候,会直接影响到对象内容!而传递想int这样的基本类型变量时,因为是复制一份传递,所以对传递进去的原变量是没有影响的!
    4. java的垃圾回收机制:当一个对象不存在任何引用的时候就会被回收!只要还存在一个引用就不会被回收!!
    5. java是强类型的语言!

    第六节:

    1. 类型转换:基础类型之间可以进行任意的转换,但是存在收缩转换(c和C++中的截断)会损失精度,还存在宽松转换,这个就是补零的事情了;
    2. 类的引用的转换:衍生类可以向基类进行任意的转换,并且java还能正确识别到衍生类中的方法(这个就叫做多态)。但是基类向衍生类转换的时候,该基类的引用必须是从将要转换成的衍生类转换来的才行!
    3. 所有的java类都有一个公共的基类:Object!嘿嘿,看着就知道这个基类可以干很多坏事了!!!

    第七节:

    1. s.length()                          返回s字符串长度

      s.charAt(2)                            返回s字符串中下标为2的字符

      s.substring(0, 4)                 返回s字符串中下标0到4的子字符串

      s.indexOf("Hello")                返回子字符串"Hello"的下标

      s.startsWith(" ")                 判断s是否以空格开始

      s.endsWith("oo")                  判断s是否以"oo"结束

      s.equals("Good World!")           判断s是否等于"Good World!"==只能判断字符串是否保存在同一位置。需要使用equals()判断字符串的内容是否相同

      s.compareTo("Hello Nerd!")        比较s字符串与"Hello Nerd!"在词典中的顺序, 返回一个整数,如果<0,说明s在"Hello Nerd!"之前;如果>0,说明s在"Hello Nerd!"之后;如果==0,说明s与"Hello Nerd!"相等。

      s.trim()                          去掉s前后的空格字符串,并返回新的字符串

      s.toUpperCase()                   将s转换为大写字母,并返回新的字符串

      s.toLowerCase()                   将s转换为小写,并返回新的字符串

      s.replace("World", "Universe")    将"World"替换为"Universe",并返回新的字符串

    2. 不可变对象,String类的对象就属于不可变对象,所谓的不可变对象就是对象的内容在创建后不允许修改;
    3. PS:对String对象做的修改,例如trim去掉前后空格和replace替换一部分字符串等操作都没有修改原来的字符串对象,都是新建了字符串对象,然后返回新建的字符串对象的引用。所以String对象是不可变对象!
  • 相关阅读:
    PHP+MYSQL单例模式的滑铁卢
    碰到一个安装SQl2008 Express Edition出错的怪异情况
    用虚拟并口解决向USB条码打印机发送ZPL指令的解决方案
    让excanvas支持动态创建的canvas标签(附演示文件)
    sql 检索语句
    c++ string 类基本用法样例
    Sqlite c/c++ api 学习
    最常见的20种VC++编译错误信息
    C#动态调用C++编写的DLL函数
    C++中将BYTE转16进制字符串
  • 原文地址:https://www.cnblogs.com/leomoli/p/4109263.html
Copyright © 2011-2022 走看看