Java考前复习

第一章 JAVA入门

知识点

一个程序中可以有多个源文件
一个源文件中不一定要有主类(public)
但是一个源文件中如有主类只能有一个

第三章 运算符、表达式和语句

知识点

关于double与float类型
系统默认有小数的数值为double类型

关于汉字属于什么类型
汉字是属于String类型的,例如‘苹’属于String类型。因为‘苹’需要用两个字节码表示。而char类型只有一个

关于m++与++m的问题
m++是先用后加1,++m是先加1后用

注意
= 是赋值号,==是等于号,用于判断。

关于switch与case语句
如果case中无break语句就执行下一个case,直到有break为止

题目

第四章:类与对象

知识点

注意事项:
一个.java文件只能有一个package 正确的。必须是文件的第一行。
一个.java文件可以有多个import 。
一个.java文件可以有多个class,但是只能有一个public class xxx,而且这个名字必须与该文件名相同,严重区分大小写。

默认值问题:
1.方法中的变量没有默认值
2.类中的变量(实例变量)有默认值
3.在类中可以初始化实例变量,但不可以改变(再赋值)
创建对象过程:
1.声明对象,格式类名 对象名例如A a
2.给对象分配变量(用new和构造方法),也就是分配实体
3.给对象分配空间
这三部可以总结为:给对象分配空间,并且指定实体。
4.初始化成员变量
5.执行构造函数
6.计算出一个引用值,例如,A a() = new A()中,A()是一个构造函数 new A()其实是用于引用的值,可以理解为给对象a表明操控方向的值

各个变量的生命周期:
实例变量(成员变量):随着对象消失而消失,范围在对象中有效
类(static)变量:随着类的消失而消失,范围在类中有效
局部变量:随着方法的消失而消失,范围简单来说就是在方法内有效

各种方法和变量的存储位置:
实例变量:作为对象的一部分,其存储位置在堆中
静态方法及变量:存在与方法区中
临时变量(局部变量):存放在栈中

关与int(…x)与增强for的问题
在这里插入图片描述
增强for必须对集合和数组使用,如上面就报错了
下面的int点点点m就是接受若干数字的意思
且m的值会赋给n

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

关于在类中参数与成员变量重名且在方法中没有用this说明问题
在这里插入图片描述
这里的两个x都是参数的x,对上面的x没影响,除非你用this说明。

构造方法不可以声明类型(int float 等等)

static方法只存在方法区中,而this只能获取堆中的地址,this不能在static中
this是属于对象的,而static是属于类的所以不可以使用

类变量(static)不一定只有使用类名可以调用,其实也可以使用对象名进行调用,只不过一般不推介这样做。但是实例变量(对象里面的)不可以通过类名进行调用。

关于super方法
若继承后不声明super,则系统会默认调用super来调用父类无参构造函数。
如果想调用有参的需要调用super。

第五章 继承和接口

知识点

1.子类继承父类的方法变量但是不继承构造方法,因为父类可能有多个构造方法,而子类不可能全部继承

2.重写的时候,类型必须和父类保持一致。
在这里插入图片描述
例如这种不叫重写,偏向与重载,重写是需要类型 参数一样,但如果名字啊一样 参数一致,类型不同就会报错。

3.抽象方法只可以在抽象类中,但抽象类中不仅只有抽象方法,可以有普通的方法(可带方法体)。

4.abstract类与接口的区别
(1)接口只可以有常量而不可以有变量,而abstract类中可以有常量和变量
(2)abstract方法中不可以用default方法(如果需要直接写非abstract方法就可以),而接口不可以有非abstract方法,但可以用default方法写。
(4)接口可以使用static方法,但是static和abstract不可以同时使用

5.类调用的值等于最后创建的对象的值。

6.接口中的方法若不做说明,则默认为public abstract方法

7.抽象类和接口的子类(若没有声明为抽象类)必须完成抽象类中所有的抽象方法。

8.类中若不说明其为public、private、protected,则默认为protected。

9.有抽象方法的类必定是抽象类(abstract)。

10.抽象类不可以new ,但不说不能声明对象
如 Animal an = null 也是合法的,只要没new 抽象类名()就可以,但是要注意其是否为匿名类

第六章:内部类、匿名类与Lambda表达式、异常类

1.内部类中不可以声明类变量和类方法,但内部类可以被声明为static类,但内部类可以被声明为public、protected、private,也可是final类

2.内部类可以使用外嵌类的成员变量,也可以调用外嵌类的方法。

3.被声明了static的内部类,不能操作外嵌类中的实例成员变量。

4.匿名类的调用问题:
因为他没名字所以调用时就只可以 new 父类名(){类体},这样来调用他,所以比较繁杂,比如一个方法的参数需要调用类的对象,但时你需要调用匿名类的对象,只能全部写上去

5.Lambda表达式就是匿名的方法表达式,其主要用在单接口(只有一个方法的接口)。

6.匿名类本质就是一个子类,一个内部类,所以抽象类new的时候要注意区分,里面的类体,肯定是实现抽象类的方法的

7.匿名类只能时final类,所以不能继承,不能声明抽象类,如果他的父类时抽象类,他一定要完成父类的抽象方法。

8.匿名类只有一个无参的构造函数(是系统默认给的),其在创建对象时也是用父类的构造方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值