ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java期末复习资料

2021-12-21 10:58:50  阅读:139  来源: 互联网

标签:Java 变量 对象 子类 equals 复习资料 期末 java 方法


1 标识符:

不能以数字开头

  常量大写

2 数据类型

类型名

占用空间

取值范围

Byte

8(1字节)

Short

16

Int

32

Long

64

Float

32

Double

64

一个小数 默认为double

为float赋值 要在后面加F   long后面加L

  内存空间

  字符以16位Unicode 存储

3 构造函数

   方法名与类名相同

   没有返回值类型

构造函数的主要作用是完成对对象实例的初始化工作。

一般在创建新对象时,系统会自动调用构造函数。

当类中没有定义任何构造方法时,Java编译器将为这个类创建缺省构造方法

如果在一个类中定义的构造方法都声明了参数,Java编译器不再为这个类创建一个缺省构造方法

4  访问权限符

访问权限

Private

default

protected

public

y

y

y

y

y

y

y

子类

y

y

全局

y

5方法重载

一定程序中定义多个名称相同,但是参数的类型或个数不同的方法

6

一个*.java文件中可以包含1个public类

7

public class MyClass{ }   类

B.package mypackage;  包的申明

C.classOtherClass{ }  

D.importjava.awt.*;  引入包

8 多态

 向上转型

  子类为父类对象实例化 找共性

   Anional an = new Cat();

 向下转型

   父类为子类对象实例化 找特性(调用子类特有的方法)

   Cat cat = (Cat)an;

A派生出子类B,B派生出子类C,对于如下Java源代码正确的说法是

本题中A是b,c父类  固可以用向上转型

9抽象

 抽象方法 即用abstract修饰的方法 没有方法体(即没有{})

          需要在实现类中实现方法

 具有抽象方法的类,必须用abstract修饰,即是抽象类(抽象类中不全是抽象方法)

10以下关于继承的叙述正确的是(A )。

A.在Java中类只允许单一继承  extend

B.在Java中一个类可以实现多个一个接口  implement

C.在Java中一个类可以同时继承一个类和实现多个接口

D.在Java中接口多继承

11编译Java源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为class。

12 static 静态

  1. 静态变量      static 变量

     变量为该类与该类的子类共享

     只有一个  修改它,即修改所有类中该变量的值

     只能是全局变量

     调用   可直接通过 类.变量的方法调用  p98

  1. 静态方法

     不创建对象,即可使用该对象的方法

     类名.方法名      或   实例对象.方法

  1. 静态代码块  

     用来进行类的初始化   只执行一次  

13  多线程  

一个进程可以产生多线程。

14 io流顶层类

15

A 成员变量是定义在类中的,成员变量有默认初始化值,局部变量是定义在方法中的,局部变量没有默认初始化值,在使用之前必须对其进行赋值。

B. 创建子类对象时一定会调用父类的构造方法,如果没有指定调用哪个父类的构造方法,则会调用其默认构造方法。

C. 接口(“大抽象类”  方法全为抽象 变量全为常量)中的方法默认使用“public abstract”来修,接口中的变量默认使用“public static final”来修饰

D. 在静态方法中只能访问静态方法,静态变量

16集合

17 GUI

18

编译Java源文件   javac.exe

解释执行Java字节码文件的指令  java.exe

二  读程序写结果

  一、对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同。

 1、“==”比较两个变量本身的值,即两个对象在内存中的首地址。

(java中,对象的首地址是它在内存中存放的起始地址,它后面的地址是用来存放它所包含的各个属性的地址,所以内存中会用多个内存块来存放对象的各个参数,而通过这个首地址就可以找到该对象,进而可以找到该对象的各个属性)

  1. “equals()”比较字符串中所包含的内容是否相同。

3.StringBuffer类中没有重新定义equals这个方法,因此这个方法就来自Object类,

 (Object类中的equals方法是用来比较“地址”的,所以等于false)

4对于非字符串变量来说,"=="和"equals"方法的作用是相同的都是用来比较其,对象在堆内存的首地址,即用来比较两个引用变量是否指向同一个对象。

本题中,重写了equals方法 即(name与age相同返回true)

5

关于equals与==的区别从以下几个方面来说: 

  1. 如果是基本类型比较,那么只能用==来比较,不能用equals 

(2) 对于基本类型的包装类型,比如Boolean、Character、Byte、Shot、Integer、Long、Float、Double等的引用变量,==是比较地址的,而equals是比较内容的。比如: 

注意:

String s1,s2,s3 = "abc", s4 ="abc" ;

 System.out.println("s3==s4:"+(s3==s4)); //true     java的常量的栈分配原理

通过字节数组创建字符串,已知整数97对应的字符是字符a

byte[] by = {97,98,99,100,101};

String str3 = new String(by);  //abcde 这里数组类型是string

1字符串缓冲类及字符串类的常见操作插入、查找、删除等方法中涉及到的位置参数都是从0开始记的

2StringBuffer  缓冲流

3sb.append(" Java").append(13.0);//在字符串后面追加子串,可连续追加

4sb.insert(6, "my");//从第6个位置开始插入第2个参数指示的子串

5 HELLO Java13.0

6 0123456     即第六位为j   Hello myJava13.0

7 String s = sb.toString();

System.out.println(s.replace("hello","Hi"));//将字符串中第1个参数指示的子串用第2个参数指示的子串代替

String为字符串常量,而StringBuffer和StringBuilder均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但后两者的对象是变量,是可以更改的。

 *代码执行的顺序:
  * 1.try内的代码从出现异常的那一行开始,中断执行
  * 2.执行对应的catch块内的代码
  * 3.继续执行try catch结构之后的代码

默认继承空参构造器,代码按顺序执行   

super()必须放在第一位

showAnimal(Animal animal)  {}

showAnimal(dog);     实质 Animal animal = new Dog()  向上转型 找共性 即共同的eat()  调用子类的方法

运行时对象和编译时对象,即子类调用共同方法时,先使用子类自身的方法     有兴趣自行了解

数组以0开始    

int[] a = new int[5]   01234

   

标签:Java,变量,对象,子类,equals,复习资料,期末,java,方法
来源: https://blog.csdn.net/m0_58453883/article/details/122057303

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有