Java·期末复习

第一章

java中的数据类型:简单类型和复合类型:

简单数据类型包括:
  整数类型:byte(8位), short, int, long(64位)     

                        (都是有符号类型)
    浮点类型:float,double
    字符类型:char (16位,使用Unicode字符集)
    布尔类型:boolean (C++ 的布尔类型是bool)

复合数据类型包括: 

           class(类)
         interface(接口)

            数组 

 

String str= “Hello\u0041\n”; // 定义一个字符串变量,初值为HelloA

           char[] str = “Hello”;  // 编译错误,不支持字符串类型到字符数组 

                                                     类型的转换

 

不同类型优先关系byte,short,char-> int -> long -> float -> double

举例:

 public class Assign {
  public static void main (String args [ ] ) {
  int x , y ; //定义xy两个整型变量
  
float z = 1.234f ; //指定变量zfloat型,且赋初值为1.234
  double w = 1.234 ; //指定变量wdouble型,且赋初值为1.234
  boolean flag = true ; //指定变量flagboolean型,且赋初值为true
  char c ; //定义字符型变量c
  String str ; //定义字符串变量str
  String str1 = " Hi " ; //指定变量str1String型,且赋初值为Hi
  c = ' A ' ; //给字符型变量c赋值'A'
  str = " bye " ; //给字符串变量str赋值"bye"
  x = 12 ; //给整型变量x赋值为12
  y = 300; //给整型变量y赋值为300
  }

    }

第三章

1、有多个import语句时,先写java包(都是java包时,按照字母先后顺序排序),后写javax,最后写其它公司的包和自己定义的包。

2、命名规则为:

Ø包名中的字母一律小写xxxyyyzzz

Ø类名、接口名应该使用名词,每个单词的首字母大写,如XxxYyyZzz

Ø变量名、方法名第一个字母小写,后面每个单词的首字母大写,如xxxYyyZzz

Ø常量中的每个字母大写,如XXXYYYZZZ

3、能够生成帮助文档的注释必须具备一定的规则,那就是注释格式必须为:

      /** 说明信息 */

   其中作者用 @author <作者>的形式体现,内容和关键字之间用空格隔开。其它为:

    @version <版本>

    @see <相关内容或类>

    @since <本内容在哪个版本以后开始出现>

   @param <属性名称> <参数说明>

   @return <返回值说明>

   @exception <例外说明>

   @throws <异常类>

   @deprecated <功能逐渐被淘汰说明>

 

第四章

面向对象的世界

程序 = 对象 + 消息

三大特征

封装 (encapsulation): 类与对象

继承 (inheritance)     : 基类与派生类

多态 (Polymorphism): 抽象类与接口

优点

重用(通用代码)

可扩展(插入新的功能,不需要改变原有的代码)可维护(代码结构优良,接口清晰)

 

抽象abstraction)是从被研究对象中舍弃个别的、非本质的、或与

研究主旨无关的次要特征,而抽取与研究有关的共性内容加以考察,

形成对研究问题正确的简明扼要的认识。

              l对象是对客观事物的抽象。

              l类是对对象的抽象,在语言中是一种抽象的数据类型。

               l类的定义在Java中可简述为  

                    class  类名{  }

                l它们的关系是,对象是类的实例,类是对象的模板。

 

 

数组长度可以为0(不是null

 某些类的方法返回数组对象引用:

   例如:linkedListVector对象可以调用方法toArray()返回

   Object[]数组,此时数组中为对象的引用,不是对象。

Arrays.sort方法:char,byte,short,int,float,double,long按升

   序排列,也可指定排序方法对对象进行排序(JDK文档)

System.arraycopy()——复制数组

 

创建对象时的初始化顺序:

1.系统会对数据成员进行默认初始化

2.执行数据成员定义处的初始化语句

3.调用构造方法为数据成员指定初值

 

访问权限首先看类前的修饰符,当类的修饰符为public时,

则类可以被所有的类所访问(可以import),当为默认时,

则只能为包中的类所访问。在此前提下,再看方法前的修饰符

类前修饰符为public时,当属性和方法前的修饰符为public时,则该属性可以被所有类访问;当属性和方法前为protected修饰时,对于类定义而言,可以被同包中的类和所有子类访问(子类和父类可以不在同一个包中),也就是B+C范围,但对于对象而言,只能被同一个包的类对象所访问,也就是B的范围;当为默认时,只能被同包中的类所访问(比protected访问权限小);当为private时,只能被本类内部所访问 。

 

 

方法名

说明

备注

Object clone()

将当前对象克隆

 

Boolen equals(Object obj)

判断两个引用是否指向同一对象,其参数不能为普通数据类型

被很多子类重载,用于用语判断对象的内容是否一致,如String,  包装类, URL, File, ,java.util包中的类或接口等

void finalize()

对象被释放时使用

 

Class getClass()

获得当前对象的类对象

注意Class中的首字母大写

int hashCode()

得到代表对象的一个整数,这个整数在应用程序运行时保持不变

这个整数的意义类似对象的身份证号码,String, 包装类, URL, File, ,java.util包中的类或接口将本方法覆盖,当内容相同时得到的hashCode值相同

String toString()

得到代表这个对象的字符串

String, 包装类, URL, File,  java.util包中的类或接口将本方法覆盖, 得到的值将是其对象内容

Void notify

用于线程同步中唤醒等待的线程

 

Void wait()

应用于线程同步中的线程等待

 

覆盖

1.子类的访问修饰符权限应等于或大于父类

2.同名的static方法static方法不能相互覆盖

3.方法前有final修饰符,此方法不能在子类方法中进行覆盖

4.JDK中,很多父类的方法被子类重新覆盖,赋予了不同的含义,如Object类中的boolean equals(Object obj)方法

5.抽象类中如果存在抽象方法,则具体子类必须对抽象方法进行覆盖

 

 

 

 

抽象类

接口

共同点

二者都可具有抽象方法,都不能实例化,但都可以有自己的声明,并能引用子类或实现类对象。

不同点

属性变量

可以有变量

不能有,只能是静态常量。

成员方法

可以有具体方法(而且具体方法可以调用抽象方法)

如果有方法,则全部是抽象方法。

实现策略

必须有子类继承

必须有实现类实现

扩展性

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

居贝比

如有帮助,打个赏,恰个饭~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值