java精简复习版(1)

java基础

1.java最大的特点:跨平台性
2.(String【】 args)参数类型:字符串数组
3.java用命令进行时
(1)javac hello.java 编译后有几个类就会出现几个.class
(2)java hello(有main的类,也就是主类) 编译后的运行
4.关键字都是小写的,标识符对大小写敏感
5.精度由高到低需强转
byte-> short -> int -> long -> float -> double
例(1) long y = (long)34.78
(2)float x=12.4 (✖)
float x= (float)12.4 (✔)
6.数字,字母,下划线是有效字符

7.&:按位与

 &&:逻辑与
 ||:逻辑或 (这两个是会短路的,只要有假就不会往后判断)

异或运算性质:a^a=0 a^0=a
8. == :等于 = :赋值
9. 数组的一个局限性是:数组大小不能动态的发生改变
10.Java语言是 1995 年由 Sun 公司第一次正式公布的,James Gosling 被誉为Java之父。
在这里插入图片描述
在这里插入图片描述

类与对象

1.成员变量在整个类内部都有效,有默认值.
局部变量只在方法内有效
this. 可用隐藏的成员变量
2.方法重载(两同一不同
同类,同方法名;参数个数或参数列表或参数顺序不同。
3.构造方法
与类名相同,无类型,无返回值,可有参,可重载
4.java每个类都有一个构造方法(若无定义,则系统默认产生)
5.实例变量只可通过对象访问,不能用类名访问
6.静态方法只能直接访问静态变量/方法。
7.this 不能出现在静态方法中
8.定义包的package语句必须是java程序第一条
9.java类访问控制关键字

作用域 当前类 同包 子类 其他
public
protected
default
private

10.this使用该构造方法创建的对象,此时this可省略。当构造方法的星灿明语气索要初始化的成员变量名相同时,不能省

继承和多态

  • 判断方法重写(1)访问权限(自闭福德权限相同或高)(2)方法头一致
    1.子类能继承父类的非私有数据成员和成员方法
    2.java只支持单继承,多层不多重,一父多子。
    3.子类对象在实例化时,默认调用父类中的无参构造函数
    4.若子类重写了父类的方法运行则系统调用子类重写方法
    5.子类不能继承父类构造方法只能调用
    对方法重写的补充子类定义一个方法,并且这个方法的名字,参数个数,类型与从父类继承的方法完全相同 。方法的返回值类型与父类方法的类型一致或子类型。
    6.只要子类中定义的成员变量和父类中同名,子类就隐藏继承的成员变量
    7.子调父
super()//调用特定的构造方法
super.方法()//调用重写的方法
super .成员变量  //访问父类中被隐藏的成员变量

多态性
8.子类转向父类(向上) 自动转型(父=子)
父类转向子类(向下) 强制转型(子=(子)父)此时的父类 是上转对象,也就是说没有上就没有下
9.上转型对象能访问(1)继承或隐藏的变量(2)继承或重写的方法
不能访问(1)新增的变量(2)新增的方法

  • 上转型调用重写的方法,但若是static则是父类的统一方法参数或返回值是上转型的重要作用

抽象类和接口

final

1.常量,一旦赋值无法改变
2.一个对象在创建过程中往往被赋值三次,但有了final之后系统不会再赋初始值
3.如果final实例变量可在初始化属性或构造方法中赋值;若final类变量,可在初始化属性或静态初始化代码块中赋值,一般都写成 static final A=10;
4.final可以修饰:类、变量、方法

特点:不能继承(类不能继承,方法能继承过去,但要直接用,不能被重写)、不能覆盖、不能重写

5.如何定义一个全局常量 public static final

instanceof

6.当左面的操作元是右面的类或其子类创建的对象时,instanceof运算结果是true,否则false。(instanceof用来检测是不是类)

abstract抽象类

7.可以有抽象方法,抽象方法:只允许生命,不允许实现,不能new去实例化
8.含有抽象方法的类必须被负责声明为抽象类,抽象列的子类必须重写所有的抽象方法
9.抽象类可以有构造方法版不能用final,因为抽象类是用来做爸爸的,但final类不能被继承
在这里插入图片描述

interface接口

10.接口包括:接口的声明和接口体,接口体包括:常量定义和方法定义
11.接口体中只进行方法的声明,不提供实现,所以没有方法体

       interface P{
 (public staticfinal int M=100;
 (public staticfloat Sum(float x,float y)
     }

12.重写接口时,一定要加上public(因为接口里会隐藏)
13(1)

interface 接口A extends 接口123、、、{
                //继承

(2)

class Dog extends Animal implements E、S{
}

14.接口中public接口可被任一类实现,而default接口只能同包发现

内部类

15.包括:成员内部类,局部、、、,静态、、、,匿名、、、
16.调用外部同名成员: OuterClass.this.age
调用本类同名成员: this.age
17.外部类不能直接访内部类私有成员,但可以通过对象调用

匿名内部类

18.条件:必须继承一个父类或实现一个接口(最多只有一个)
19.格式:new 类名/接口( ){重写或实现的方法;} 。这个类名中可以有抽象类
20.代码实现
匿名内部类实现(前提是前面一定有父类/接口)

(1)
new A( ){
public void a( ){Syso..( );}
}.a( );

(2)
A a1=new A( ){public void a( ){Syso...( );}
};
a1.a( );

21.匿名内部类中无构造方法,不能是抽象类
22.本质是继承一个类或实现一个接口的匿名子类对象

发布了47 篇原创文章 · 获赞 6 · 访问量 1949

猜你喜欢

转载自blog.csdn.net/weixin_43729631/article/details/105208488