java抽象类创建入门.docx
《java抽象类创建入门.docx》由会员分享,可在线阅读,更多相关《java抽象类创建入门.docx(16页珍藏版)》请在冰豆网上搜索。
java抽象类创建入门
1动物抽象类
Animal.java
packagecom.liuyi_02;
/**
*这是动物抽象类
*
*/
publicabstractclassAnimal{
/**
*这是吃饭的功能
*/
publicabstractvoideat();
/**
*这是睡觉的功能
*/
publicabstractvoidsleep();
}
Cat.java
packagecom.liuyi_02;
/**
*这是具体的猫类
*
*/
publicclassCatextendsAnimal{
@Override
publicvoideat(){
System.out.println("猫吃鱼");
}
@Override
publicvoidsleep(){
System.out.println("猫趴着睡觉");
}
}
Dog.java
packagecom.liuyi_02;
importcom.liuyi_01.Jump;
/**
*这是具体的狗类
*
*/
publicclassDogextendsAnimalimplementsJump{
@Override
publicvoidjump(){
System.out.println("会跳高的狗");
}
@Override
publicvoideat(){
System.out.println("狗吃肉");
}
@Override
publicvoidsleep(){
System.out.println("狗站着睡觉");
}
}
packagecom.liuyi_01;
/**
*这是跳高接口
*
*/
publicinterfaceJump{
/**
*这是跳高功能
*/
publicabstractvoidjump();
}
2HelloWorld.java
packagecn.itcast_01;
publicclassHelloWorld{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
System.out.println("HelloWorld");
System.out.println("aaaa");
inta;
}
}
3Student.java
packagecn.itcast_02;
publicclassStudent{
privateStringname;
privateintage;
publicintnum=10;
publicfinalintnum22=20;
publicstaticintnum3=30;
publicstaticfinalintnum4=40;
publicStudent(){
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetName(){
returnname;
}
publicvoidsetAge(intage){
this.age=age;
}
publicintgetAge(){
returnage;
}
}
4Dom.java
packagecn.itcast_03;
importcn.itcast_01.HelloWorld;
/*
*alt+/内容辅助键
*
*A:
main方法
*main+alt+/回车即可
*B:
输出语句
*syso+alt+/
*C:
提示作用
*帮助你补齐一些你你不住的东西,还可以帮你起名字等。
*/
publicclassDemo{
//publicstaticvoidmain(String[]args){
//System.out.println("HelloWorld");
//}
publicstaticvoidmain(String[]args){
System.out.println();
Stringstring=newString();
HelloWorldhelloWorld=newHelloWorld();
}
}
packagecn.itcast_03;
importjava.util.ArrayList;
importjava.util.Date;
importjava.util.Scanner;
/*
*常用快捷键
*1:
格式化ctrl+shift+f
*2:
导入包ctrl+shift+o
*如果该类仅仅在一个包中有,就自己显示了
*如果该类在多个包中有,会弹出一个框框供你选择
*3:
注释
*单行:
注释ctrl+/,取消注释再来一次。
*多行:
ctrl+shift+/,ctrl+shift+\
*4:
代码上下移动
*选中代码alt+上/下箭头
*5:
查看源码
*选中类名(F3或者Ctrl+鼠标点击)
*/
publicclassHelloWorld{
publicstaticvoidmain(String[]args){
inta=10;
System.out.println(a);
Scannersc=newScanner(System.in);
Dated=newDate();
//StringBuffer
//ArrayList
Math.random();
}
}
5成员变量
Student.java
packagecn.itcast_04;
/*
*提高开发效率:
*A:
帮助我们自动提供构造方法
a:
无参构造方法
在代码区域右键--source--GenerateConstructorsfromSuperclass
b:
带参构造方法
在代码区域右键--source--GenerateConstructorsusingfields..--finish
B:
成对的getXxx()和setXxx()
在代码区域右键--source--GenerateGettersandSetters...
*/
publicclassStudent{
//成员变量
privateStringname;
privateintage;
//构造方法
publicStudent(){
super();
}
publicStudent(Stringname,intage){
super();
this.name=name;
this.age=age;
}
//成员方法
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicintgetAge(){
returnage;
}
publicvoidsetAge(intage){
this.age=age;
}
}
Teacher.java
packagecn.itcast_04;
publicclassTeacher{
//成员变量
privateStringname;
privateintage;
publicTeacher(Stringname,intage){
super();
this.name=name;
this.age=age;
}
publicTeacher(){
super();
//TODOAuto-generatedconstructorstub
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicintgetAge(){
returnage;
}
publicvoidsetAge(intage){
this.age=age;
}
}
6重写
Animal.java
packagecn.itcast_05;
publicabstractclassAnimal{
publicabstractvoideat();
}
Cat,java
packagecn.itcast_05;
publicclassCatextendsAnimal{
@Override
publicvoideat(){
System.out.println("猫吃鱼");
}
}
Dog.java
packagecn.itcast_05;
/*
*是注解。
*这个注解的意思是说,我这个方法是重写父类的。
*如果和父类名出现了偏差就会报错。
*/
publicclassDogextendsAnimal{
@Override
publicvoideat(){
}
publicvoidsleep(){
}
}
JUMP.java
packagecn.itcast_05;
publicinterfaceJump{
publicabstractvoidjump();
}
Pig.Java
packagecn.itcast_05;
publicclassPigextendsAnimalimplementsJump{
@Override
publicvoidjump(){
}
@Override
publicvoideat(){
}
}
7创建对象
Student.java
packagecn.itcast_01;
publicclassStudent{
//姓名
privateStringname;
//年龄
privateintage;
publicStudent(Stringname,intage){
super();
this.name=name;
this.age=age;
}
publicStudent(){
super();
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicintgetAge(){
returnage;
}
publicvoidsetAge(intage){
this.age=age;
}
publicvoidshow(){
System.out.println("姓名:
"+name+",年龄:
"+age);
}
}
StudentDemo.java
packagecn.itcast_01;
/*
*测试类
*/
publicclassStudentDemo{
publicstaticvoidmain(String[]args){
//创建对象
Students1=newStudent();
s1.setName("图图");
s1.setAge(6);
System.out.println(s1.getName()+"---"+s1.getAge());
s1.show();
//创建对象
Students2=newStudent("小美",7);
System.out.println(s2.getName()+"---"+s2.getAge());
s2.show();
}
}
8抽象类
packagecn.itcast_02;
importcom.liuyi_02.Animal;
importcom.liuyi_02.Cat;
importcom.liuyi_02.Dog;
publicclassAnimalDemo{
publicstaticvoidmain(String[]args){
//抽象类不能实例化
//Animala=newAnimal();
Animala=newCat();
a.eat();
a.sleep();
System.out.println("----------");
a=newDog();
a.eat();
a.sleep();
System.out.println("----------");
//想使用跳高功能
Dogd=(Dog)a;
d.eat();
d.sleep();
d.jump();
}
}
9定义求和变量
ArgsDemo.java
packagecn.itcast_03;
/*
*通过debug查看程序执行流程
*请大家也做一遍。
*/
publicclassArgsDemo{
publicstaticvoidmain(String[]args){
inta=10;
intb=20;
System.out.println("a:
"+a+",b:
"+b);
change(a,b);
System.out.println("a:
"+a+",b:
"+b);
int[]arr={1,2,3,4,5};
change(arr);
System.out.println(arr[1]);
}
publicstaticvoidchange(inta,intb){
System.out.println("a:
"+a+",b:
"+b);
a=b;
b=a+b;
System.out.println("a:
"+a+",b:
"+b);
}
publicstaticvoidchange(int[]arr){
for(intx=0;xif(arr[x]%2==0){
arr[x]*=2;
}
}
}
}
ForDemo.java
packagecn.itcast_03;
publicclassForDemo{
publicstaticvoidmain(String[]args){
//定义求和变量
intsum=0;
for(intx=1;x<6;x++){
sum+=x;
}
System.out.println("sum:
"+sum);
}
}