A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© A增 初级黑马   /  2019-1-23 14:17  /  635 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


final类在我们面试的时候面试官通常会问什么是final,怎么用?

那么什么是final类呢?
final可以修饰整个类及类中的方法和属性。
final通常用在public前面或者后面。
final修饰的类不能被继承。
final修饰类中的属性表示该属性必须被赋值并且只能被赋值一次。(默认值不算赋值)
它初始化赋值方法有两种:
一:在定义成员变量的同时被初始化
二:在类中所有的构造函数中初始化
注意:一个类的所有普通方法内部都不可以修饰final修饰过的成员变量的值。

final修饰的方法可以被子类继承,但不可以被子类重写。
例如:
class A{
final public void f(){
System.out.println("Aaa");
}
}
class B extends A{

}
public class text{
public static void main(String[] args){
B bb=new B();
bb.f();
}
}

好啦,看了这段解释及代码

想想应该了解的差不多了~~~~~~

接口:
(interface)是一种特殊的抽象类。就是抽象方法和常量值属性的集合。
接口的作用:通过接口可以实现不相关类的相同行为。
接口提供了不同对象进行协作的平台。
接口可以实现多继承。  
                                                                        接口的用法:
一:接口的方法不能带有主体。
类不能继承接口,如想要把接口中的属性方法包含在类的内部,使用implements。

接口中定义的属性必须是public static final ,定义的方法必须是public abstract,但是
public static final,public abstract可以省略。
e g:
interface ut{
public static final int i=20;
public abstract void f();
}
abstract class A implements ut{
   public void f(){
       System.out.pritln("aaa");
}
}
class B{
public static void main(String[] args){

}
}

二:接口中定义的属性的值实现类中不能被更改。
一个类只能实现interface某个接口,不能继承某个接口,但接口可以继承接口,还可以继承多个接口。

eg:
class A{
}
interface it1{
}
interface int2{
}
interface int3 extends it1,in2{
}  
interface in4{
int i=20;
}
class T extends A implements it4,it3{//一个类可以继承一个父类的同时实现一个或多个接口
但extends关键字必须的在implements之前。
}
class text{
public static void main(String[] args){
System.out.println("dd");
}
}
三:不可以New 接口对象,但可以定义一个接口引用类型的变量并将其指向实现接口的对象,达到多态的目的。
eg:
interface it{
void f();
}
class A implements it{
public void f(){
System.out.println("AAA");
}
public void g(){
System.out.println("AwA");
}
}
class D{
public static void main(String[] args){
it It;
It=new A();
It.f();//只能调用父类继承过来 的成员。ok
It.g();//error
}
}
四:如果一个类实现了一个接口的部分方法,则该类必须得声明为抽象类。
eg:
interface  we{
void f();
void g();
}
abstract class A implements we{
public void f(){  //只实现了f()方法,得声明为抽象类,void前面必须用public
System.out.println("AAA");
}
}
public class text{
public static void main(String[] args){
System.out.println("嘿嘿");
}
}

接口与抽象类的区别:
接口中的方法不允许有方法体,但是抽象类允许。
java类不允许多继承,接口却允许多继承
(接口可以实现多继承,一个接口可以有多个父类)
(java类只允许单继承,一个类只能有一个父类)

~~~~~~

举实例来对文字的解释是不是更加的明白~~

总体来说接口的用法就是这些

不过后面咋们的多线程会过多的用到接口哦

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马