描述final修饰的类的特点//是一个最终类不能被继承,是一个太监类
描述final修饰的方法的特点//是一个最终方法,可以被继承使用,但是不能被重写
描述final修饰的变量的特点//是一个常量,值不能改变局部变量:定义在方法中的变量基本数据类型:值不能改变引用数据类型(数组,对象,集合...):地址值不能改变成员变量:定义在成员位置,类中方法外保证在创建对象前赋值1.可以定义变量的时候直接赋值2.可以使用构造方法给变量赋值
能够掌握static关键字修饰的变量调用方式类名.静态成员变量public class Person{static int a = 10;}Person.a;
能够掌握static关键字修饰的方法调用方式类名.静态成员方法(参数);public class Person{public static void show(int a){}}Person.show(10);
能够写出接口的定义格式public interface 接口名{抽象方法 public abstract 返回值类型 方法名(参数);默认方法 public default 返回值类型 方法名(参数){方法体}静态方法 public static 返回值类型 方法名(参数){方法体}}
能够写出接口的实现格式public class 实现类 implements 接口{}
能够说出接口中的成员特点变量:接口中的变量都是常量,有固定的修饰符 public static final int AAA = 10;方法:抽象方法(需实现类重写) 默认方法(实现类可以选择性重写) 静态方法(不能重写,使用接口名直接调用)接口中没有构造方法,不能创建对象
packagecom.itheima.demo02finalMethod;publicclassZiextendsFu{publicvoidshow01(){System.out.println("Zi类重写Fu类没有被final修饰的show01方法");}/*'show02()' cannot override 'show02()' in 'com.itheima.demo02finalMethod.Fu'; overridden method is final子类不能重写父类被final修饰的方法*//*public final void show02(){System.out.println("Fu类被final修饰的show02方法");}*/}
packagecom.itheima.demo02finalMethod;publicclassDemo01{publicstaticvoidmain(String[] args){Zi zi =newZi();zi.show01();//调用的是子类重写后的show01方法zi.show02();//调用子类继承自父类的final修饰的方法}}
3.final修饰的变量
局部变量:是一个常量,值不能改变
packagecom.itheima.demo03finalVariable;/*final修饰的变量:是一个常量,值不能改变局部变量:定义在方法中的变量(语句中for)final修饰符是局部变量唯一的修饰符*/publicclassDemo01{publicstaticvoidmain(String[] args){/*final修饰的局部变量:是一个常量,值不能改变(一次赋值,终身不变)基本数据类型(4类8种):值不能改变*/finalint a =10;//a = 20;//Cannot assign a value to final variable 'a'/*引用数据类型(数组,类,集合...):地址值不能改变对象中的内容是可以改变的(成员变量的值,数组中的元素,集合中的元素...)*/finalPerson p1 =newPerson("张三",20);System.out.println(p1);//com.itheima.demo03finalVariable.Person@4554617c//p1 = new Person("李四",30);//Cannot assign a value to final variable 'p1'System.out.println(p1);//com.itheima.demo03finalVariable.Person@74a14482//p1 = null;//Cannot assign a value to final variable 'p1'p1.setAge(30);System.out.println(p1);//com.itheima.demo03finalVariable.Person@4554617c}}
packagecom.itheima.demo03finalVariable;/*final修饰的成员变量:是一个常量,值不能改变特点:特殊记忆final修饰的成员变量必须在创建对象前赋值(规定)注意:1.成员变量的默认值(String=>null,int==>0,doble=>0.0,boolean==>false),不是final修饰的成员变量的值,必须赋一个具体值2.赋值的方式:a.直接赋值:定义变量,直接给变量赋值b.使用构造方法赋值,构造方法是创建对象前执行无论哪种赋值方式,只能赋值一次3.常量的命名规则:一般都使用大写字母final int AAA_BBB_CCC = 10;*/publicclassStudent{//final int a;//Variable 'a' might not have been initialized//a.直接赋值:定义变量,直接给变量赋值finalint b =10;finalint c;finalString d =null;//b.使用构造方法赋值,构造方法是创建对象前执行publicStudent(){c =20;//b = 100;//Cannot assign a value to final variable 'b' 无论哪种赋值方式,只能赋值一次}publicStudent(int e){c=e;}}
二.static关键字
1.static关键字概述(了解)
2.static关键字的使用(使用)
packagecom.itheima.demo04static;/*定义每个学生特有的属性(非静态):姓名,年龄定义每个学生共享的属性(静态):国家*/publicclassStudent{String name;int age;staticString country ="中国";}
packagecom.itheima.demo05static;/*定义每个学生特有的成员(非静态)只有一种使用方式:创建对象,访问属性,调用方法定义每个学生共享的成员(静态)有两种使用方式:1.创建对象,访问属性,调用方法(不推荐,占用内存,效率低)2.静态的成员属于类,所以我们可以通过类名直接使用类名.静态成员变量类名.静态的成员方法(参数);*/publicclassStudent{//定义非静态的成员变量int a =10;//定义静态成员变量staticint b =20;//定义非静态的成员方法publicvoidshow01(){System.out.println("Student类的非静态show01方法!");}//定义静态的成员方法publicstaticvoidshow02(){System.out.println("Student类的静态show02方法!");}}
packagecom.itheima.demo05static;publicclassDemo01Student{publicstaticvoidmain(String[] args){//创建Student对象Student s =newStudent();System.out.println(s.a);System.out.println(s.b);s.show01();s.show02();//静态的成员,通过类名可以直接使用System.out.println(Student.b);Student.show02();Student.b =200;System.out.println(Student.b);Demo01Student.method();//同一个类中,使用静态的成员,可以省略类名method();}publicstaticvoidmethod(){System.out.println("静态的method方法!");}}
packagecom.itheima.demo06interface;/*定义接口的实现类使用格式:使用实现类实现接口,重写接口中的抽象方法public class 实现类名 implements 接口{重写接口中的抽象方法}注意:实现类似于继承,类实现接口,就可以继承接口中所有的非私有方法*/publicclassMyInterImplimplementsMyInter{@Overridepublicvoidshow01(){System.out.println("实现类重写接口中的show01抽象方法!");}@Overridepublicintshow02(){System.out.println("实现类重写接口中的show02抽象方法!");return0;}@Overridepublicvoidshow03(String s){System.out.println("实现类重写接口中的show03抽象方法!"+s);}}
packagecom.itheima.demo06interface;publicclassDemo01MyInter{publicstaticvoidmain(String[] args){//'MyInter' is abstract; cannot be instantiated 接口不能创建对象使用//MyInter my = new MyInter();//创建接口的实现类对象MyInterImpl my =newMyInterImpl();my.show01();my.show02();my.show03("张靓颖");}}
packagecom.itheima.demo07defaultInterface;publicclassDemo01{publicstaticvoidmain(String[] args){//创建接口的实现类对象使用MyInterImpl my =newMyInterImpl();my.show01();//实现类重写的my.show02();//继承自接口的}}
packagecom.itheima.demo08staticInteface;publicclassDemo01{publicstaticvoidmain(String[] args){//通过接口名.方法名(参数)直接调用接口中的静态方法MyInter.show01();String s =MyInter.show02(10);System.out.println(s);//MyInterImpl my = new MyInterImpl();//my.show01();//Static method may be invoked on containing interface class only}}
packagecom.itheima.demo09abstractInterface;/*接口的多实现:类可以同时实现多个接口格式:public class 实现类 implements 接口1,接口2,接口3....接口n{重写所有接口中的抽象方法}注意:接口中含有抽象方法,实现类需要重写所有接口的抽象方法如果接口中有同名的抽象方法,实现类只重写一个就可以了不会产生不确定性,抽象方法没有方法体*/publicclassAandBImplimplementsA,B{@Overridepublicvoida(){System.out.println("实现类重写A接口中的抽象a方法!");}@Overridepublicvoidb(){System.out.println("实现类重写B接口中的抽象b方法!");}@Overridepublicvoidshow(){System.out.println("实现类重写A接口和B接口中的抽象show方法!");}}
packagecom.itheima.demo09abstractInterface;publicclassDemo01{publicstaticvoidmain(String[] args){//创建接口的实现类对象使用AandBImpl ab =newAandBImpl();ab.a();ab.b();ab.show();}}
packagecom.itheima.demo10defaultInterface;/*接口的多实现:类实现含有默认方法的多个接口格式:public class 实现类 implements 接口1,接口2,接口3....接口n{}注意:1.如果接口中的默认方法不重复,实现类可以选择重写或者不重写默认方法重写:使用实现类重写的不重写:使用继承自接口的2.如果多个接口中默认方法有重复的,实现类必须重写这个重复的默认方法有不确定性,实现类不知道使用继承自哪个接口的默认方法,重写之后使用自己的*/publicclassAandBImplimplementsA,B{@Overridepublicvoidshow(){System.out.println("实现类重写A接口和B接口中默认的show方法!");}}
packagecom.itheima.demo10defaultInterface;publicclassDemo01{publicstaticvoidmain(String[] args){//定义接口的是实现类对象AandBImpl ab =newAandBImpl();ab.a();//继承自A接口中的ab.b();//继承自B接口中的ab.show();//实现类自己重写的}}
packagecom.itheima.demo11staticInterface;/*接口的多实现:实现类实现含有静态方法的多个接口格式:public class 实现类 implements 接口1,接口2,接口3....接口n{}注意:1.实现类实现含有静态方法的接口,没有意义;静态方法实现类不能继承,也不能重写2.接口中静态方法有重复的,不会冲突,静态方法属于每个接口本身*/publicclassAandBImplimplementsA,B{}
packagecom.itheima.demo12extendsAndImplements;/*一个类可以在继承父类的同时,实现多个接口格式:public class 子类 extends 父类 implements 接口1,接口2,....接口n{}注意:1.父类|接口中有抽象方法,子类需要全部重写2.父类中的普通方法和接口中的默认方法重复了,子类优先使用父类的*/publicclassZiextendsQinDieimplementsGanDie1,GanDie2{@OverridepublicvoidkaoBeiDa(){System.out.println("Zi类重写了GanDie1的kaoBeiDa的抽象方法!");}@OverridepublicvoidfindGF(){System.out.println("Zi类重写了GanDie2的findGF抽象方法!");}}
packagecom.itheima.demo12extendsAndImplements;publicclassDemo01{publicstaticvoidmain(String[] args){//创建Zi类对象Zi zi =newZi();zi.kaoBeiDa();zi.findGF();zi.kaoQingHua();//亲爹希望孩子考上清华大学!}}
packagecom.itheima.demo14interface;publicclassDemo01{publicstaticvoidmain(String[] args){//通过接口名访问接口中的常量,接口中的常量是被static修饰的System.out.println(MyInter.NAME);System.out.println(MyInter.WEB);System.out.println(MyInter.ADDRESS);//Cannot assign a value to final variable 'ADDRESS' 常量的值是不能改变的//MyInter.ADDRESS = "昌平区建材城西路金燕龙办公楼一层";System.out.println(Math.PI);}}
1.下面( )属于顺磁性材料。 A. 铜 B. 水 C. 空气 答案:C
2.事故照明一般采用( )。 A. 日光灯 B. 白炽灯 C. 压汞灯 答案:B
3.人体同时接触带电设备或线路中的两相导体时,电流从一相通过人体流…
目录标题 alter system 只是 写 auto 文件SET & alter system1. **会话级别参数(Session-level parameters)**2. **系统级别参数(System-level parameters)**3. **某些特定的超级用户参数**4. **修改时生效的参数**总结&#…