final:不可改变的,可以用于修饰类,方法和变量
1.被final修饰的类不能被继承
2.被final修饰的方法不能被重写
3.被final修饰的变量不能被重新赋值
final修饰变量
final修饰的变量无法二次赋值
public class Final关键字 {
public static void main(String[] args) {
final int a=5;//final修饰变量,变量一但赋值不允许修改它的值(常量) 方法不允许被重写,
}
}
当你给一个属性赋值加上final关键字就是把这个属性写死了你无法在下面进行更改值;
重点:fianl修饰的变量无法二次赋值,引用是一个变量,所以被fianl修饰时也不能二次赋值!
权限修饰符
权限修饰符:使用不同修饰符时,被修饰的内容会有不同的访问权限
同一类中 | 同一包中 | 不同包的子类 | 不同包中的无关类 | |
public(公共的) | √ | √ | √ | √ |
protected(受保护的) | √ | √ | √ | |
default(默认的) | √ | √ | ||
private(私有的) | √ |
在同一个包下的子父类中:除了private不能被访问,其它的都可以。
在不同包下的子父类中: public修饰的能被访问,对于protected修饰的,子类的实例可以访问从父类继承而来的protected方法。即在子类中的某个方法fun1()直接访问父类的protected方法,再去实例化子类,通过子类的实例调用fun1(),从而间接实现访问父类的protected方法,但不能通过父类的实例直接去访问其protected方法。
内部类
内部类:可以说一个类里面嵌套了一个完整的类及结构,那么被嵌套的叫内部类,包裹其他类的叫外部类
class 外部类名{ //外部类
class 内部类名{} //内部类
}
class 外部别的类{} //外部其他类
匿名内部类
匿名内部类是是一个没有名字的局部内部类,定义在方法中
方便创建子类对象 目的就是简化代码
new 类|抽象类名|接口名(){
重写方法;
};
Animal a = new Animal(){
public void run(){}
};
a.run();
以接口举例:1.定义子类
2.重写接口中的方法
3.创建子类对象
4.调用重写后的方法
目的是调用方法匿名内部类就可以简化
前提:匿名内部类必须继承一个父类或者实现一个父类接口
//父类
public void person(){}
//匿名内部类
public void student(){
new person(){
@Override
public void method(){
System.out.println("");
}
};
}
- 匿名内部类是一个没有名字的内部类
- 匿名内部类写出来就会产生一个匿名内部类的对象
- 匿名内部类的对象类型相当于是当前new的那个的类型的子类类型
Scanner
1.实例化扫描对象,用来扫描系统的标准输入(键盘输入)(创建Scanner对象)
Scanner sc=new Scanner(System.in);
2.打印一个提示信息,提示用户输入内容(不能忘记这一步)
System.out.println("请在控制台输入一个整数");
3.接受用户键盘的输入(读取)
int num=scanner.nextInt();
4.使用用户输入内容(打印输出)
System.out.println("你输入的整数是:"+num);
package "文件夹名";
import java.util.Scanner
public class "类名" {
public static void main(String[] args){
Scanner sc= new Scanner(System.in);
System.out.println("请在控制台输入一个整数");
String num = sc.nextLine();
System.out.println("你输入的整数是:"+num);
}
}
测试
public static void main(String[] args) {
//正文
Scanner scanner = new Scanner(System.in);//1.固定键盘输入代码。
System.out.println("请输入数据:");//2.提升用户要输入数据
String a = scanner.next();//3.用next方式或者nextLine接收用户输入的数据放到变量a里面
System.out.println("您输入的内容为:"+a);//4.输出用户输入的内容
scanner.close();//5.关闭输入键盘,避免IO流占用
}
//1.快捷键生成方式:输入后面new到结束按Alt+回车键
//3.快捷键生成方式:输入后面scanner.next按Alt+回车键
运行结果:
请输入数据:
小狗
您输入的内容为:小狗