1-面向对象特征之继承
如下给出继承实例:
package com.lixiuchun.test.sample04;
public class Mark1 {
protected String title;
protected String color;
protected String movie;
public void description(){
System.out.println("型号:"+title);
System.out.println("颜色:"+color);
System.out.println("首次出现电影:"+movie);
}
private void fire(){
System.out.println("利用手臂燃料泵射出火焰");
}
public static void main(String[] args) {
Mark1 mark1 = new Mark1();
mark1.color = "银灰色";
mark1.title = "马克1型";
mark1.movie = "钢铁侠1";
mark1.description();
mark1.fire();
}
}
package com.lixiuchun.test.sample04;
//extends关键字用于类的继承
//extends关键字后面是"父类",extends关键字前是"子类"
//子类会继承父类的(default)/protected/public修饰的成员变量与方法
public class Hulk extends Mark1{
private void repair(){
System.out.println("弹射备件替换战损组件");
}
public static void main(String[] args) {
Hulk hulk = new Hulk();
hulk.color = "红色";
hulk.movie = "复仇者联盟2";
hulk.title = "反浩克装甲";
hulk.description();
hulk.repair();
}
}
package com.lixiuchun.test.sample04;
public class Mark85 extends Mark1{
private void createShield(){
System.out.println("利用纳米技术生成防御护盾");
}
public static void main(String[] args) {
Mark85 mark85 = new Mark85();
mark85.color = "红色";
mark85.movie = "复仇者联盟4";
mark85.title = "马克85型";
mark85.description();
mark85.createShield();
}
}
在上面代码中Hulk类和Mark85类继承于Mark1类。
在字类中可以使用父类中用protected和public修饰的变量和方法,在子类中不可以调用父类中用private修饰的变量和方法,在创建子类时使用extends修饰说明所继承与什么类。
如下:
public class Hulk extends Mark1{//Hulk类继承与Mark1类
}
2-面向对象特征之多态
1.多态是同一个行为具有多个不同表现形式或形态的能力。
实现多态的关键是接口
1.接口(Interface)是一个抽象的类型,只提供方法的·定义。
2.实现类是一个接口的具体是实现,要实现,每一个接口的方法的功能.。
接下来是一种接口的定义及实现实例展示:
在工程中新建Language.java
package com.lixiuchun.test.sample05;
//创建一个新的接口
public interface Language {
//模拟各国语言的方法定义
public void voice();//接口内的实验方法(当前未实现具体功能)其具体功能是对来自各国电话的问候
}
接下来新建名为Chinese.java、English.java、French.java的三个类对接口Language进行具体功能的实现。
package com.lixiuchun.test.sample05;
public class Chinese implements Language{//关键词implements是对所属接口的说明
@Override
public void voice() {//对接口Language中voice方法的一种实现
System.out.println("你好,有什么可以帮到您的");//输出对中国人的汉语问候
}
}
package com.lixiuchun.test.sample05;
public class English implements Language{
@Override
public void voice() {
System.out.println("Hello,What can i do for you?");
}
}
package com.lixiuchun.test.sample05;
public class French implements Language{
@Override
public void voice() {
System.out.println(".............(模拟法语问候)");
}
}
在同一包中创建名为CustomerService.java类进行接口Language三种实现的整合
在类中创建并实现public Language contact(int areaCode)方法通过areaCode的不同值返回相对应接口Language的具体实现方式。
public class CustomerService {
public Language contact(int areaCode){
if(areaCode == 86){
return new Chinese();
}else if(areaCode == 33){
return new French();
}else{
return new English();
}
}
public static void main(String[] args) {
// Language personOne = new English();
// personOne.voice();
// Language personTwo = new Chinese();
// personTwo.voice();
// Language personThree = new French();
// personThree.voice();
CustomerService cs = new CustomerService();
Language language1 = cs.contact(86);
language1.voice();
Language language2 = cs.contact(33);
language2.voice();
}
}
之后在不同包下创建类进行调用接口进行具体功能的实现
package com.lixiuchun.test.sample05.system;
import com.lixiuchun.test.sample05.CustomerService;
import com.lixiuchun.test.sample05.Language;
public class Customer {
public static void main(String[] args) {
CustomerService customerService = new CustomerService();//实例化CustomerService对象
Language language = customerService.contact(86);//通过对CustomerService对象方法的调用实现对接口Language不同情况下的实现
language.voice();//此时输出结果为:你好,有什么可以帮到您的
}
}
3-ArrayList列表类的使用
1.ArrayList是java内置的数据集合,用于储存多个数据。
2.ArrayList是数组替代品,提供了更多的数据操作方法。
3.ArrayList几乎是每个项目中必备的类。
以下通过实例进行ArrayList的使用说明:
package com.lixiuchun.test.sample06;
import java.util.ArrayList;
import java.util.List;
public class ArrayListSample {
public static void main(String[] args) {
//泛型
List<String> bookList = new ArrayList<String>();
bookList.add("红楼梦");//尾部插入数据
bookList.add("西游记");
bookList.add("水浒传");
bookList.add("三国志");
bookList.add(0,"镜花缘");//选择指定位置插入元素
System.out.println(bookList);//对ArrayList内容进行输出
String bookName = bookList.get(2);//调出bookList内第3个元素也就是数组内下标为2的元素
System.out.println(bookName);//输出
int size = bookList.size();//返回bookList数组中的元素数量
System.out.println(size);
bookList.remove(2);//删除数组内下标为2的元素
System.out.println(bookList);
bookList.remove(bookList.size()-1);//移除最后一条数据
for(String book:bookList){//遍历列表所有数据
System.out.println("《" + book + "》");
}
}
}