java基础笔记

所需积分/C币:27 2015-02-08 23:22:03 358KB PDF
收藏 收藏
举报

java基础笔记整理适合初学菜鸟参考! 从java语法基础到API无需整理,纯营养,完全精华,简洁精辟! 13.什么是类变量? 类变量是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的是相同的结果,同样任何一个该类的对象去修改它时,修改的也是同一个变量。 14.如何定义类变量? 访问修饰符 static 数据类型 变量名; 15.如何访问类变量? 类名.类变量名 或者 对象名.类变量名 16.静态区域块,只执行一次。Package demo1---demo02 静态的方法只能访问静态的变量,非静态的方法既能访问静态变量,又能访问非静态变量。 18.通过一个成员方法去控制和访问私
int[]arr={89,50,84,57,61;20,86}; for(int i=0;i<arrlength-l; 1++)i for(int j=0;j<arr.length-l-i;j++)i if(arr[i]>arr[j+1])( int temp arr[J] arr[i]= arr[i+l] arr[j+l]=temp 在方法中,若方法定义的返回值类型为非void,则方法体中必须使用 return 返回,并且 return后的表达式类型必须与方法定义的返回类型匹配;若方法定 义的返回值类型为Void,方法体中也可以有 return,用来结束方法调用。 个方法中的局部內部类中若想引用这个方法的其他局部变量或参数,那么这些局 部变量或参数必须使 final修饰。 Java面向对象 类 一个文件中可以包含多个类。 public修饰的类只能有一个 public修饰的类名必须与文件名相同。 同时使用不同包中相同类名的类,包名不能省略 继承 子类在构造之前必须先构造父类,可以参见下面代码: public class Testt public static void main(string[] argv)i Son s = new Son()i class father public Father(f system,out. print1n("父类的构造方法执行了!"); class Son extends Father //super()i public Son() System.out. println("子类的构造方法执行了!"); 上列代码中子类并没有 super调用父类构造方法,那是因为,如果子类的构造方法 中没有调用父类的构造方法,则java编译器会自动的加入对父类无参构造方法的调 用,即在子类构造方法中的第一行用 super调用父类的无参构造方法 若是父类中没有提供无参构造方法,则构造子类的时候会出现编译错误。 向上造型: 父类的引用指向子类的对象。 ●能点出什么,看类型。 方法d重写:(两同两小一大) 两同:方法名相同,形参列表相同。 两小:子类方法返回值类型应比父类方法返回值类型更小或相等,子类方法声明抛 出的异常类应比父类方法声明抛出的异常类更小或相等。 大:子类方法的访问权限应比父类方法的访问权限更大或相等。 小的限制:子类方法返回值类型比父类方法返回值类型更小或相等。 父类方法返回类型为Void,则子类也必须为void。 父类方法返回类型为基本类型,则子类必须相同。 ●父类方法返回类型为引用类型,则子类小于等于父类。 注意:般情况下都是等于。 0 bject类中的方法目前我们学过的有: tostring(, equals(), hash code(),Wait(), notify(),(后两者配合使 用),Java提供的类大多数都重写了 tostring()和 equals()。 面试题:重写和重载的区别 重载:是指在一个类中定义多个方法相同但参数列表不同的方法,在编译时,根据 参数的个数和类型来决定绑定哪个方法。 重写:是指在子类中定义和父类完全相同的方法,在程序运行时,根据对象的类型 (而不是引用类型)而调用不同的方法。 封装的意义 ●保护数据的安全 访问控制修饰符 ●封装具体的实现细节 方法来实现 修饰符 public protected 默认 private 本类 可以访问可以访问可以访问可以访问 同一个包中的类可以访问可以访问可以访问不能访问 子类 可以访问可以访问 不能访问不能访问 其他类 可以访问不能访问 不能访问不能访问 注意:类的访问: public或默认;类成员的访冋:以上四种。 statio 静态成员属于整个类,当系统第一次使用该类时,就会为其分配內存空间直到该类 被卸载才会进行资源回收! static变量属于整个类,即和方法一起存在于方法区,因此 static变量只有 份。 何时使用 static修饰变量:当所有对象共有的变量的值一样时 何时使用 static修饰方法:方法的操作仅与参数相关,与对象无关。 Java中的 statio使用之静态方法 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。 如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象 来访问非静态变量 静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量。 总结 静态变量可以通过类名或对象名访问(建议使用类名),普通方法中默认有this 传递,因此普通方法可以访问实例变量和静态变量。而静态方法中没有默认的 this,因此只能直接访问静态变量。(调用方法原则同访问变量) 静态初始化块(也存在于方法区)只在类加载时执行,且只会执行一次,同时静态 初始化块只能给静态变量赋值,不能初始化普通的成员变量。 何时用静态初始化块:常用于加载静态资源(图片、音频、视频.….) final ● final修饰变量:变量不可被改变。 ● final修饰方法:方法不可被重写。 ●fina修饰类:类不可被继承。 final修饰成员变量必须初始化,两种方式初始化 声明的同时初始化 ●构造方法中初始化 final修饰局部变量只需在使用之前初始化即可。 static final修饰的成员变量称为常量,必须声明同时初始化,并且不可被改 变。常量建议所有字母大写, public修饰 定义抽象类的意义在于 为其子类提供一个公共的类型(父类引用指向子类对象); 封装子类中的重复内容(成员变量和方法); 定义有抽象方法,子类虽然有不同的实现,但该方法的定义是一致的。(子类需 要实现此抽象方法)。 接口: 接口中只能包含常量或抽象方法。 接口是需要被实现的,因此实现类必须重写接口中的所有抽象方法。 个类可以实现多个接口。 ●接口可以继承接口。 接口和抽象类的区别: ●一个类只能继承一个抽象类,但可以实现多个接口。 抽象类中可以包含抽象方法和非抽象方法,而接口中的所有方法均为抽象的。 子类继承抽象类必须实现抽象类中所有抽象方法,否则子类也必须是抽象类。而 子类实现接口则必须实现接口中的所有抽象方法。 设计类的步骤 ●将所有子类公共的数据和方法抽到父类中 所有子类方法体一样>普通方法 所有子类方法体不一样一>抽象方法 既是也是的情况->接口(继承的单根性的扩展) 多态的意义 个类型的引用在指向不同的对象时会有不同的实现 同样一个对象,造型成不同的类型时,会有不同的功能 引用类型强制类型转换(成功的条件) 引用所指向的对象就是该类型 引用所指向的对象实现了该接口 匿名内部类:通常这个类需要实现某个接口或者继承某个类。 若名内部类中访问外面的成员,成员前面必须有 final。 Java核心API(上) String: int1 ength():该方法用于获取当前字符串的长度,无论中英文,每个字符占 个长度。 字符串是不变对象。一旦字符串对象创建好,内容是不可改变的,若想改变字符串 内容,一定会创建新对象。 string str3="1"+2+3+"abe";//如果都是直接量,Java编译器直接编译 为“123abC"。 string str='a'+3+"abc";//'a’是以 Unicode码进行运算。 正则表达式 使用一组特殊的字符定义了一个字符串的格式。 正则表达式的作用 验证某个字符串是否满足格式要求。 正则表达式只关注格式是否正确,不关注内容是否真实有效。 语法 []:表示一个字符。该字符可以是方括号中列举的其中之一。 [^]:^’为非。 [a-zA-z]:不管大小写,任意一个字母。 [a-zA-z0-9]:所有不管大小写的字母和0~9的任意数字。 :任意一个字符。 \d:表示任意一个数字。 w:表示任意一个单词字符(只能是数字,字母,下划线)。 \S:表示任意一个空白字符(\t\r\n、f\x0B)。 D:表示任意一个非数字字符。 W:表示任意一个非单词字符。 \S:表示任意一个非空白字符。 ():中间的内容被看作一个整体。 Java中对应8个基本类型对应有8个包装类 包装类的作用: 解决基本类型不能参与面向对象开发的问题。 使用包装类,我们就可以让基本类型的值以对象对形式的存在。 日期操作 因为Date的设计具有“千年虫"以及“时区"的问题,所以现在仅用它来表示一个时 间点。当需要进行日期计算操作时,都是将Date转换为 Calendar后进行计 算,输出时再将 Calendar转换为Date。 String Date: Date parse(string str) SimpleDateFormat构造方法中传入所需格式,y-年,M-月,d-日,H-时,m- 分,S-秒。 Date - String: String format(Date date) Date Calendar: void setTime(datedate) Calendar中进行天数计算时只可使用“ Calendar.DAY_0 F YEAR"l Calendar ->Date: Date getTime( 具体用法参照下面代码

...展开详情
试读 15P java基础笔记
立即下载 低至0.43元/次 身份认证VIP会员低至7折
抢沙发
一个资源只可评论一次,评论内容不能少于5个字
  • 签到新秀

    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 分享达人

    成功上传6个资源即可获取
关注 私信 TA的资源
上传资源赚积分or赚钱
最新推荐
java基础笔记 27积分/C币 立即下载
1/15
java基础笔记第1页
java基础笔记第2页
java基础笔记第3页

试读结束, 可继续读2页

27积分/C币 立即下载 >