Java复习
Posted 酒色财气
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java复习相关的知识,希望对你有一定的参考价值。
1. Java中创建类的时候,不写类的 修饰符 默认是 default 权限, 是可以在同包下相互访问的 ;如果是 public 类型,是允许跨包访问的 ; 如果是 Private类型,仅允许在类内访问,连子类都访问不了
protect: 介于public 和 private 之间的一种访问修饰符,一般称之为“保护形”。被其修饰的类、属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问
2.同样,Java方法中默认的修饰符也是default ,默认什么都不加,就是default(不用把default写出来)。意思就是只能由跟这个类在同一个包中的类来访问,比private限制更少,但比protected限制更多。\'
3.记住静态方法和对象完全无关,所以静态方法不存在方法覆盖这么一说!!静态方法一般用类名来进行调用
4.静态变量是 属于类的,
5.非静态方法既可以访问静态方法又可以访问非静态方法,而静态方法只能访问静态数据方法。
(这个要切记,在Java复习第一个笔记中就有这个记录,静态方法是不能访问非静态变量的,但是非静态变量是可以访问静态方法的)
6.弄清方法覆盖和方法重载的区别
方法覆盖必须发生在具有继承关系的父子关系中(重写后的方法必须的之前的方法具有相同的方法名,参数列表以及返回值!!)
方法重载是在一个类中,方法名必须相同,但参数列表不一致
7.弄清楚 super() 的作用,A类继承B类,B类有两个构造方法,一个有参,一个无参,A类在写构造方法的时候,第一行会默认加上 super() (你看不见。。),但是这个默认调用的是B类的无参构造,所以父类写构造方法的时候一定要注意
8.Java一个类中只能有一个 public 类
9.Java单引号表示字符,双引号才表示字符串
10.final 修饰的类无法被继承,
final 修饰的方法无法被重写
11.注意,抽象类中的抽象方法是不可以写 方法体的
例如: public abstract void eat() ;
12.
抽象类中可以有抽象方法和非抽象方法!!!!!
非抽象类可以继承抽象方法,但是,但是,前提是必须实现(其实就是重写)抽象方法!!
《别记混了》非静态方法既可以访问静态方法又可以访问非静态方法,而静态方法只能访问静态数据方法。
13.
接口定义 : interface A{}
接口中抽象方法定义: public abstract void A(); 咱们上课教学的时候教的 是 : public void A(); 可以把 abstract 省略
接口中常量的定义 :public static final int x = 10 ; 也可以直接省略 public static final
14.类和类之间叫继承,接口和接口之间叫实现
15.匿名类
一般都是继承或者实现(实现接口)的关系,匿名类就可以在类中直接创建对象,但是需要在对象的方法体中把父类(或者接口)中的方法全部实现
16.
定义数组的两种方式
int arry1 [ ] = {1,2,3,4,5}
String names [ ] = { "zhangsan" , "llisi" , "wangwu " }
还有一种就是常见的
type [ ] arryname = new type[arrysize]
int [ ] num = new int[10]
string [ ] str = new str[5]
值得注意的是 Java中没有静态数组的定义(C怎么定义数组的,那种定义方式就是静态数组 ) ,数组的内存都是通过 new 动态分配的
这种写法就是错误的 int intarry[10]
这里需要注意定义多维数组的时候
int a [ ] [ ] = new int [2] [3]
实例化对象数组
shape [ ] s = new Circle [ 5 ] ;
接口名 [ ] 数组名 = new 实现类名称 [ 数组大小 ]
17.内部类
定义:一个类定义在另一个类的方法或者类里面,称为内部类
匿名内部类属于局部内部类的一种,
以上是关于Java复习的主要内容,如果未能解决你的问题,请参考以下文章