java抽象类与接口

文章目录

    • 一,抽象类
    • 2,接口
    • 3. java——数据结构
      • (1) 数组数据类型:数据元素类型相同。
      • (2)字符串
      • (3)java 语言的 ArrayList
      • (4)函数
      • Java中的ADT

一,抽象类

https://blog.csdn.net/crazy_kid_hnf/article/details/55004870
抽象类的特点:
抽象类中至少有一个成员函数是抽象成员函数。

1,抽象方法一定在抽象类中。
2,抽象方法和抽象类都必须被abstract关键字修饰。
3,抽象类不可以用new创建和实例化对象。因为抽象类本身就是不完整的。
4,抽象类中的抽象方法要被使用,必须由子类复写所有的抽象方法后,建立子类对象调用。
5, 如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类。

 abstract class Student3
{
	String studentName=" ";
	int studentAge=20;
	Student3(String name, int age)
	{
		studentName=name;
		studentAge=age;
	}
	abstract void print();
}

class StudentA extends Student3
{
	StudentA(String name, int age)
	{
	   super(name,age);
	}
	@Override
	void print(){
		System.out.println("姓名:"+studentName+" 年龄:"+studentAge);
	}
}
 
class StudentB extends Student3
{
	StudentB(String name, int age)
	{
	   super(name,age);
	}
	@Override
	void print() 
	{
		System.out.println("name:"+studentName+" age:"+studentAge);
	}
}
public class MyTest{
	public static void main(String[] args)
	{
		Student3 student1=new StudentA("张",20);
		Student3 student2=new StudentB("wang",11);
		student1.print();
		student2.print();
	}
}

运行结果:

姓名:张 年龄:20
name:wang age:11
//package for_apro;  
//import java.util.*;  

//抽象类的声明  
abstract class Animal {  
    String type;  
    String name;  
    int age;  
    int weight;  
    void eat() {  
        System.out.println("动物爱吃饭");  
    }  
    //抽象方法在抽象类中只能声明,不能具体实现  
    abstract void breath();  
    void sleep() {  
        System.out.println("动物在睡觉");  
    }  
}  
//由子类去继承父类抽象类  
 class tiger extends Animal{  
  
    @Override  
    //在此处实现抽象方法  
    void breath() {  
        // TODO Auto-generated method stub  
        System.out.println("老虎在呼吸");  
    }  
}  
public class Main222 {  
    public static void main(String [] args){  
        // 错误,程序会报错  
        //报错原因:抽象类不能进行实例化操作  
        //Animal Tiger = new Animal();  
          
        //只能用子类进行实例化  
        Animal Tiger = new tiger();  
        Tiger.breath();  
    }  
}  

运行结果:

老虎在呼吸

2,接口

接口中,所有的成员函数都是抽象成员函数,即接口中所有的成员函数都没有具体的实现方法。

3. java——数据结构

(1) 数组数据类型:数据元素类型相同。

格式:元素类型名 数组名[ ];
数组存储结构:顺序存储(数组名代表首地址)。
例如:

int a[];          //定义
a=new int[4];      //申请内存单元并赋初值

(2)字符串

java语言把存放字符串的变量表示为字符数组或字符串对象。例如:

char s[];   //定义字符串变量

String str;  //定义一个字符串引用变量

还可以定义String数组,例如:String[] str=new String[3]

import java.util.Scanner;
public class newtest {
	public static void main(String[] args)
	{
		
		String str1,str2;
		char s1[],s2[];
		Scanner scanner=new Scanner(System.in);
		System.out.println("请输入第一个字符串s1:");
		str1=scanner.next();
		System.out.println("请输入第二个字符串s2:");
		str2=scanner.next();
		
		
		s1=str1.toCharArray();
		s2=str2.toCharArray();
		
		System.out.println(s1);
		System.out.println(s2);
		
		
		System.out.println(str1);
		System.out.println(str2);
		
		String str01="Hello";
		String str02="Hello world";
		System.out.println(str01.equals(str02));
	}
}

(3)java 语言的 ArrayList

特点:
1:长度可变;
2:可以放入不同类型的对象。


class Studenttmp{
	String studentName="";
	public Studenttmp(String name)
	{
		studentName=name;
	}
	public String getName()
	{
		return studentName;
	}
}
public class newtest {
	public static void main(String[] args)
	{
		ArrayList list=new ArrayList();
		Studenttmp student1=new Studenttmp("Tom");
		
		list.add(student1);
		
		Studenttmp student2=new Studenttmp("小张");
		list.add(student2);
		
		System.out.println("ArrayList:"+((Studenttmp)list.get(0)).getName()+","+((Studenttmp)list.get(1)).getName());
	}
}

输出结果:
ArrayList:Tom,小张

(4)函数


public class newtest {
	public static void main(String[] args)
	{
		int[] a= {9,8,7,6,5,4,3,2,1};
		for(int i=0;i<a.length;i++)
		{
			System.out.print(a[i]+" ");
		}
		System.out.println();
		swap(a);
		for(int i=0;i<a.length;i++)
		{
			System.out.print(a[i]+" ");
		}
	}
	static void swap(int[] x)
	{
		for(int i=0;i<(x.length-1)/2;i++)
		{
			int t=x[i];
			x[i]=x[x.length-1-i];
			x[x.length-1-i]=t;
		}
			
	}
}

Java中的ADT

ADT:抽象数据类型
可以描述为:
1)一个值的集合;
2)一个操作的集合。

java有两种方法对ADT进行描述:
1)抽象类声明表示:ADT的实现用继承该抽象类的具体类声明表示。
2)java接口表示:ADT的实现用实现该接口的类表示。

你可能感兴趣的:(Java)