面向对象-抽象与接口

代码块

局部代码块

写在方法内部的代码块

局部代码块:有什么用?

1.没什么用:if  for while  控制代码执行流程:一般要与if之内的结合才有用

2.作用域的时候:

2.构造代码块

写在类的结构体重的【会在每一个构造方法中复制一份】

静态代码块

写在类的结构体中的代码,使用static修饰的

特点会优先于主方法执行:

静态加载-----【类---加载----初始化{静态语句执行}---执行】


做一些初始化操作。例如之前的恶汉模式

继承与组合的关系

组合的概念

组合多个类的对象,调用传参


组合的代码实现

class _02ZhuHe{

public static void main(String[] args){

//创建一个手机卡对象

Card card=new Card("53555");

//创建一个手机对象

CellPhone phone=new CellPhone(card);

//调用手机对象的展示手机号方法

phone.showNum();

}

}

//设计一个类

class Card{//设计一个手机卡类里面保存电话号码,有查询手机卡号码的行为

String num;

Card(String num){//有参的构造方法

this.num=num;

}

public void print(){//查询手机卡号码

System.out.println("你的手机号码是"+num);

}

}

//设计一个类

class CellPhone{//设计一个手机类,里面有电话卡

Card card;//

CellPhone(Card card){//创建一个有参构造

this.card=card;

}

public void showNum(){//展示手机号码

card.print();

}

}class _02ZhuHe{

public static void main(String[] args){

//创建一个手机卡对象

Card card=new Card("53555");

//创建一个手机对象

CellPhone phone=new CellPhone(card);

//调用手机对象的展示手机号方法

phone.showNum();

}

}

//设计一个类

class Card{//设计一个手机卡类里面保存电话号码,有查询手机卡号码的行为

String num;

Card(String num){//有参的构造方法

this.num=num;

}

public void print(){//查询手机卡号码

System.out.println("你的手机号码是"+num);

}

}

//设计一个类

class CellPhone{//设计一个手机类,里面有电话卡

Card card;//

CellPhone(Card card){//创建一个有参构造

this.card=card;

}

public void showNum(){//展示手机号码

card.print();

}

}

枚举

1. 枚举的概念

比较简单的,设计一个数据类型:只存在固定的几个值

2. 枚举的语法及基本使用

enum Sex{

MAN("男"),WOMAN("妹子");

String name;//定义一个枚举属性的字段

Sex(String name){//有参的构造方法

this.name=name;

}

public String toString(){//覆写toString方法

return name;

}

}

3. 枚举的拓展

1.枚举值,写中文,男,女汉子不合适,编程都是用英文

2.中国人来说,打印英文不合适,希望打印中文

枚举语法特点:可以有构造方法的,字段,方法的

3.内置一个字段

4.发现枚举可以调用Object里东西,枚举与Object判断类型也是true

私生子不能说名的

5.枚举都是隐式的发展:所有的枚举:拓展至Enum类

抽象类

1. 抽象的引入

1.抽象类:abstract 修饰的一个类

2.抽象方法:abstract修饰的一个方法,只能存在于抽象类中,或者接口中

2.抽象方法

abstract修饰的方法,不能有方法体,必须覆写抽象方法

2. 抽象支持多态写法

1.作为一个模板的:只是为了抽取公共的属性

2.规定了一个更大的数据类型,很好的支持多态的写法

3.规范子类的写法


接口

接口的引入

接口的语法验证及接口与类的使用


1.接口与类的使用:

充电宝插入到接口,在充电宝端实现了充电

class USBImpl implements USB{}//USBImpl对接口USB的一个实现


2.软件接口java接口的介绍

软件与软件之间数据交互的接口

java中的接口

Java中的接口:是一个跟类很相似的结构

3.类实现接口

1.一个类是可以实现多个接口的:传说中的干爹

2.一个类实现了接口,还可以继承类:

继承应该在前面,实现应该在后面,亲爹比干爹亲

4.接口与接口

多继承关系,一个接口可以继承多个接口

内部类

内部类介绍

在一个类中再定义一个类

内部类创建对象及方法使用

非静态

外部类名.内部类名 变量名=new 外部类().new 内部类();

静态:

外部类名.内部类名 变量名=new 外部类名.内部类名();

匿名内部类

定义在主方法内

直接实现覆写父类的方法,不用创建子类

语法:

noName(new父类名(){//把里面看成是USB实现的一个对象【有对象了,就该有类,但是看不到名字,匿名内部类】

public void print(){//覆写接口中的抽象方法

System.out.println("匿名内部类");//覆写父类方法

}

});

你可能感兴趣的:(面向对象-抽象与接口)