新闻资讯

新闻资讯 媒体报道

java基础知识及练习题

编辑:016     时间:2021-11-17

Java 的参数传递,不管是基本数据类型还是引用类型的参数,都是按值传递,没有按引用传递!

概念:

· 按值传递:将方法参数值复制到另一个变量,然后传递复制的对象,将其称为按值传递。

· 按引用传递:将对实际参数的别名或引用传递给方法,将其称为按引用传递的原因。

java语法基础:

  1. 标识符:

(1)数字不可以开头。

(2)不可以使用关键字。

2.变量的作用域和生存期:
变量的作用域:
作用域从变量定义的位置开始,到该变量所在的那对大括号结束;
生命周期:
变量从定义的位置开始就在内存中活了;
变量到达它所在的作用域的时候就在内存中消失了;

3.创建对象时,都需要经过初始化

一个类在定义时,如果没有定义过构造函数,那么该类中会自动生成一个空参数的构造函数,为了方便该类创建对象,完成初始化。如果在类中自定义了构造函数,那么默认的构造函数就没有了。

一个类中,可以有多个构造函数,因为它们的函数名称都相同,所以只能通过参数列表来区分。所以,一个类中如果出现多个构造函数。它们的存在是以重载体现的。

构造函数必须要满足的三个条件:

(1) 方法名和类名相同

(2) 在方法名前面没有返回值类型的声明

(3) 在方法中不能用return语句返回一个值


执行顺序:(优先级从高到低)静态代码块>main方法>构造代码块>构造方法。其中静态代码块只执行一次。构造代码块在每次创建对象是都会执行。

  1. 静态代码块的作用:比如我们在调用C语言的动态库时会可把.so文件放在此处。
  2. 构造代码块的功能:(可以把不同构造方法中相同的共性的东西写在它里面)。例如:比如不论任何机型的电脑都有开机这个功能,此时我们就可以把这个功能定义在构造代码块内。

3.  静态方法可以直接通过类名调用,任何的实例也都可以调用,因此静态方法中不能用this和super关键字,不能直接访问所属类的实例变量和实例方法.

4.  因为static方法独立于任何实例,因此static方法必须被实现,而不能是抽象的abstract。

5. static代码块也叫静态代码块,是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,它不在任何的方法体内,JVM加载类时会执行这些静态的代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次。

6. static final用来修饰成员变量和成员方法


3:构造函数。

发现子类构造函数运行时,先运行了父类的构造函数。

原因:子类的所有构造函数中的第一行,其实都有一条隐身的语句super();

super(): 表示父类的构造函数,并会调用于参数相对应的父类中的构造函数。而super():是在调用父类中空参数的构造函数。

为什么子类对象初始化时,都需要调用父类中的函数?

因为子类继承父类,会继承到父类中的数据,所以必须要看父类是如何对自己的数据进行初始化的。所以子类在进行对象初始化时,先调用父类的构造函数,这就是子类的实例化过程

注意:子类中所有的构造函数都会默认访问父类中的空参数的构造函数,因为每一个子类构造内第一行都有默认的语句super();

如果父类中没有空参数的构造函数,那么子类的构造函数内,必须通过super语句指定要访问的父类中的构造函数。

如果子类构造函数中用this来指定调用子类自己的构造函数,那么被调用的构造函数也一样会访问父类中的构造函数。


super()和this()是否可以同时出现的构造函数中?

两个语句只能有一个定义在第一行,所以只能出现其中一个。

super()或者this():为什么一定要定义在第一行?

因为super()或者this()都是调用构造函数,构造函数用于初始化,所以初始化的动作要先完成。

重载和重写的概念:

重载:

不同函数使用相同函数名,但是函数的参数列表(参数个数或参数类型)不同,调用的时候根据参数的类型来区别不同的函数

重写(覆盖):

函数名和参数都一样,函数的实现体不一样.

重写的注意事项:

重写父类方法时,不允许降低访问权限,但可以提高访问权限

(访问权限从高到低:public > protected> 友好的>private)

子类和父类可以在同一个包也可以不在同一个包

(4) 子类和父类在同一个包中的继承性

如果子类和父类在同一个包中,那么子类自然就继承了其父类中不是private的成员变量作为自己的成员变量,,并且也自然的继承了父类中不是private的方法作为自己的方法,继承的成员变量或方法的访问权限不变.

(5) 子类和父类不在同一个包的继承性

当子类和父类不在同一个包中的时候,父类的private和友好访问权限的成员变量和方法不会被子类继承,子类只继承父类中public和protected访问权限的成员变量和方法.

final 关键字

(1)final 关键字可以修饰类、成员变量和方法中的局部变量.

用final修饰类,则被修饰的类不能被继承

(2)用final修饰方法则该方法不能被重写,子类只能老老实实地继承,不能作任何的修改.

(3)用final修饰成员变量或局部变量,则变为常量.

接口

接口的接口体中只可以有常量和abstract 方法.

接口体中所有的常量的访问权限一定都是public,而且是static

常量,所有抽象方法的访问权限都是public,允许省略public abstract修饰符.

GUI 设计四大步骤

1.创建容器

2.添加组件

3.安排组件
4.处理事件,实现监听接口

练习题一套来源于百度文库





























郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

回复列表

相关推荐