当前位置: 首页 > news >正文

淘宝联盟 网站怎么做中天钢铁 网站建设

淘宝联盟 网站怎么做,中天钢铁 网站建设,百度一下官网首页登录,易搜网站建设抽象类: 什么是抽象类: 听着就很抽象,确实挺抽象,先来写一个抽象类感觉一下: 这就是抽象类! 在 Java 中,一个类如果被 abstract 修饰称为抽象类,抽象类中被 abstract 修饰的方法…

抽象类:

什么是抽象类:

        听着就很抽象,确实挺抽象,先来写一个抽象类感觉一下:

这就是抽象类!

Java 中,一个类如果被 abstract 修饰称为抽象类,抽象类中被 abstract 修饰的方法称为抽象方法,抽象方法不用给出具体的实现体。

抽象类特点:

1. 抽象类不能直接实例化对象:

如果实例化抽象类就会报错!

2. 抽象方法不能是 private 的:

抽象方法和抽象类都不能被private修饰。(因为要在其他类中进行重写

 3. 抽象方法不能被final和static修饰,因为抽象方法要被子类重写:

这种情况都会报错!!

4. 抽象类必须被继承,并且继承后子类要重写父类中的抽象方法,否则子类也是抽象类,必须要使用 abstract 修饰:

1、子类必须重写父类的抽象方法:

2、子类也可以是抽象类


 

如果此时有子类继承了Dog类,那就需要既要重写Animals中抽象方法,和又要重写Dog中的抽象方法!! 

其他特点:

5. 抽象类中不一定包含抽象方法,但是有抽象方法的类一定是抽象类
6. 抽象类中可以有构造方法,供子类创建对象时,初始化父类的成员变量

 例如:

abstract class Animals {int age;String name;String color;public Animals(){System.out.println("Init class Animals");}public void run(){System.out.println("Aniamla run");}abstract public void barks();abstract public void eat();
}

 抽象类的作用:

抽象类本身不能被实例化 , 要想使用 , 只能创建该抽象类的子类 . 然后让子类重写抽象类中的抽象方法 .
使用抽象类的场景就如上面的代码 , 实际工作不应该由父类完成 , 而应由子类完成 . 那么此时如果不小心误用成父类了, 使用普通类编译器是不会报错的 . 但是父类是抽象类就会在实例化的时候提示错误 , 让我们尽早发现问题

接口:

语法规则:

接口的定义格式与定义类的格式基本相同,将class关键字换成 interface 关键字,就定义了一个接口。

例如:

public interface 接口名称 {
// 抽象方法
public abstract void method1 (); // public abstract 是固定搭配,可以不写
public void method2 ();
abstract void method3 ();
void method4 ();
// 注意:在接口中上述写法都是抽象方法,跟推荐方式 4 ,代码更简洁
}

注意:

接口中的方法都是抽象方法:

public abstract 返回值类型 方法名();

可以简写为 返回值类型 方法名();

提示 :
1. 创建接口时 , 接口的命名一般以大写字母 I 开头 .
2. 接口的命名一般使用 " 形容词 " 词性的单词 .
3. 阿里编码规范中约定 , 接口中的方法和属性不要加任何修饰符号 , 保持代码的简洁性

接口不能直接使用,必须要有一个"实现类""实现"该接口,实现接口中的所有抽象方法。 

 接口特性:

1. 接口类型是一种引用类型,但是不能直接 new 接口的对象:
和抽象类是一样的。
public class TestUSB {
public static void main ( String [] args ) {
USB usb = new USB ();
}
}
2、接口中每一个方法都是 public 的抽象方法 , 即接口中的方法会被隐式的指定为 public abstract (只能是public abstract,其他修饰符都会报错 )。(和抽象类是一样的)
public interface USB {
// Error:(4, 18) java: 此处不允许使用修饰符 private
private void openDevice ();
void closeDevice ();
}

3. 接口中的方法是不能在接口中实现的,只能由实现接口的类来实现。

(和抽象类是一样的)

public interface USB {
void openDevice ();
// 编译失败:因为接口中的方式默认为抽象方法
// Error:(5, 23) java: 接口抽象方法不能带有主体
void closeDevice (){
System . out . println ( " 关闭 USB 设备 " );
}
}

4. 重写接口中方法时,不能使用默认的访问权限

public class Mouse implements USB {
@Override
void openDevice () {
System . out . println ( " 打开鼠标 " );
}
// ...
}
// 编译报错,重写 USB openDevice 方法时,不能使用默认修饰符
// 正在尝试分配更低的访问权限 ; 以前为 public

5. 接口中可以含有变量,但是接口中的变量会被隐式的指定为 public static final 变量

(和抽象类有区别) 

public interface USB {
double brand = 3.0 ; // 默认被: final public static 修饰
void openDevice ();
void closeDevice ();
}
public class TestUSB {
public static void main ( String [] args ) {
System . out . println ( USB . brand ); // 可以直接通过接口名访问,说明是静态的
// 编译报错: Error:(12, 12) java: 无法为最终变量 brand 分配值
USB . brand = 2.0 ; // 说明 brand 具有 final 属性
}
}

6. 接口中不能有静态代码块和构造方法。

public interface USB {
// 编译失败
public USB (){
}
{} // 编译失败
void openDevice ();
void closeDevice ();
}

7. 接口虽然不是类,但是接口编译完成后字节码文件的后缀格式也是 .class
8. 如果类没有实现接口中的所有的抽象方法,则类必须设置为抽象类
9. jdk8 中:接口中还可以包含 default 方法。

 

实现多个接口:

        之前讲过一个类只能继承一个父类,但是一个类可以扩展多个接口,也就是可以implements多个接口!

Java 中,类和类之间是单继承的,一个类只能有一个父类,即 Java 中不支持多继承 ,但是 一个类可以实现多个接
我们可以实现一个动物类,然后提供多个接口,这些接口可以表示动物的特征!

一共定义3个接口,一个父类,两个子类:

接口:

 

父类:

子类:

注意定义时必须重写接口中的方法!!

注意扩展接口和继承父类的顺序,先继承后扩展!

利用多态输出:

 再多定义一个类,可以进行多态的类!!(可以进行向上转型和向下转型!!)

这个类是重点,希望大家看懂!

public class Walk {public static void walk(IRun running){System.out.println("我去散步带着");if(running instanceof Cat) {Cat cat = (Cat) running;cat.name = "mimi";cat.age = 2;} else if(running instanceof Bird){Bird bird = (Bird) running;bird.name = "qiumi";bird.age = 1;}running.run();}
}

接口之间的继承:

类与类之间可以进行继承(用关键字extends),类与接口之间可以进行扩展(用关键字inplements),那么接口之间能不能进行继承呢?

答案肯定是能滴!

也是用关键字extends:

此时比如两个接口,一个是IFly和IRun两个接口,可以合并成一个接口,既可以跑也可以飞:

此时比如说,鸟类,可以直接调用一个接口就可以了!

public class Bird extends Animals implements IFlyrun{@Overridepublic void fly() {System.out.println(this.name+"用两只翅膀飞");}@Overridepublic void run() {System.out.println(this.name+"用两只脚跑");}
}

但是此时还是需要重写所有的接口中的抽象类!

抽象类和接口的区别:

1、抽象类还是类,里面还是可以定义成员变量和成员方法,而且这些变量和方法的访问限制可以自己更改。接口,里面的成员方法只能定义抽象方法,不能实现,成员变量也只能是常量,也就是被final修饰!

2、抽象类中的普通变量和方法可以被子类调用,不需要重写,但是接口中只能定义抽象类,而且,必须要被扩展它的子类重写!

3、类与类之间只能有一个父类,但是多个接口可以被一个类拓展!

(自己总结的不知道到不到位,如有不对,请多多指正。)

http://www.yayakq.cn/news/565452/

相关文章:

  • 网站开发的专业能力温州做网站设计
  • 坂田网站建设推广公司深圳本地网站建设
  • 做网站空间 阿里云官方网站模板
  • 表白网站怎样做有创意网站建设价格请咨询兴田德润
  • 牛天下网站做的怎么样西安seo优化排名
  • 上海建设安全生产协会网站湖北省建设厅建筑资料官方网站
  • 泗阳做网站公司网络推广外包公司一般在哪里招聘
  • icp网站备案seo公司哪家好
  • 如果建立网站个体户千万不能去注销
  • 网站备案 现场提交网站商城模板
  • 网站建设 dw 时间轴h5个人网页制作
  • 揭阳企业做网站给手机开发网站
  • 青岛微网站丽水做网站公司
  • 哪里有做网站的单位云南网站设计平台
  • 网站开发 实时更新莱芜金点子最新招聘信息兼职
  • 怎么用模板建网站深圳市龙华区中心医院官网
  • 163网站视频动做茂名网站建设解决方案
  • dw网页设计软件的学习网站门类细分网站
  • 沙坪坝做网站公司名称注册查询官网
  • 怎样分析一个网站做的好坏定制网站建设制作
  • 临漳网站制作苏州网站建设哪家技术好
  • 关于网站建设项目的投诉函广州高端企业网站建设
  • 建企业网站程序系统龙海网站建设哪家好
  • 营销型企业网站建设规划探讨wordpress主题更新失败
  • uc浏览器访问网站关于水果怎么做网站
  • 我想做跑腿网站怎么做网页制作人员培训课程
  • 免费空间能放网站吗内江市住房和城乡建设局网站
  • 2019做网站网站建设与网页设计制作教程
  • 阿里巴巴网站建设初衷网站上的图片一般多大合适
  • 专业做网站较好的公司广州wordpress采集电影资源