面向对象(⑩-①②)

⑩抽象类(abstract)
一、抽象类的作用
通过继承可以从原有的类派生出新的类,原有的类称为基类或父类,而新的类称为派生类或子类。通过继承机制,派生出来的新类不仅可以保留父类的属性和方法,还可以拥有自己的属性和方法。
Java中有一种特殊的类专门用来做父类,这种类称为“抽象类”.抽象类像模板一样,他的目的是要设计者依据他的格式来进行修改并创建新的类。但是抽象类自身不能创建对象,只能通过抽象类派生出来的子类创建对象。抽象类也只能单继承。
二、抽象类的特点
1.包含抽象方法的类必定是抽象类,但是抽象类不一定包含抽象方法。
2.抽象类和抽象方法都必须要使用关键字abstract修饰
3.构造方法,静态方法不能声明为抽象方法
4.抽象方法不能使用private修饰
5.抽象方法只需要声明不需要实现
6.抽象类不能创建对象,无法使用new关键字调用抽象方法的构造方法创建对象。即使抽象类中包含构造方法该类也不能创建对象。
7.子类继承抽象类时,必须要重写抽象类中的所有抽象方法(如果子类也是抽象类可以不重写)
三、抽象类的语法
语法:
[修饰符]  abstract  class 类名{
属性;
构造方法;
[访问控制符] 返回值类型 方法名([参数列表]){
 //方法体
}
[访问控制符]  abstract 返回值类型 方法名([参数列表]);
}

①① 接口(更彻底的抽象类)
一、接口就是一组对类的要求,它反映了一组没有内在联系、不相关的类之间的通讯的协议
接口支持多继承。
二、接口的特点
1.一个类只能直接继承一个父类,但是可以实现多个接口。
2.接口不能实例化、接口没有构造方法。
3.接口中的方法全部都是抽象方法,常量全部都是静态常量。
4.当一个类实现某个接口时,它必须实现该类中的所有的抽象方法,除非这个类定义为抽象类。
三、接口的语法
语法:
 [访问控制符] interface 接口名{
   全局常量;
   抽象方法;
 }
四、
●类实现多个接口
class 类名 implements 接口1,接口2……{
}
●类实现接口同时又继承类
class 类名 extends 父类 implements 接口1,接口2……{
}
●接口继承接口(接口只能继承接口,不可以继承类。而且接口继承接口使用extends,而且接口可以继承多个接口)
案例一:接口继承接口
interface A{
 void fun1();
}
interface B extends A{
 void fun2();
 void fun3();
}
案例二:接口继承多个接口
interface A{
 void fun1();
}
interface B{
 void fun2();
 void fun3();
}
interface C extends A,B{
 
}

①② 包装类
一、八种基本数据类型给编程带来了方便,但是同时他又破坏了面向对象的特点。为了解决这个矛盾,java中提供了包装类。

二、基本数据类型与包装类的转换
JDK1.5之后
自动装箱:把基本数据类型变量直接赋给一个包装类型的对象,或者直接给到Object类型的对象。
自动拆箱: 把包装类的对象直接赋给一个基本数据类型的变量
★instanceof语法:对象名 instanceof 类名 //如果对象和类匹配则为true 否则值为false
三、字符串与基本数据类型的转换
**String类型对象---->基本数据类型变量 使用基本数据类型对应的包装类中的parseXXX()方法完成
**基本数据类型变量---->String类型对象 使用String类中的valueOf()方法完成
public class Test1 {
 public static void main(String[] args) {
  //字符串---》基本类型
  String s = "123";
  int a = Integer.valueOf(s);
  int b = Integer.parseInt(s);
  System.out.println(a+"  "+b);
  
  //基本类型--->字符串
  int x = 10;
  String s1 = String.valueOf(x);
  String s2 = x+"";
  System.out.println(s1+"   "+s2);
 }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值