Final关键字,Person权限修饰符,内部类,Scanner

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+回车键

运行结果:

请输入数据:
小狗  
您输入的内容为:小狗

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值