java基础(一)

用一个简单的例子记录java基础的学习过程,以备遗忘(截图表示)


接口1:

jk1.java文件

package com.java1995;

public interface jk1 {
 //接口中变量默认的都会加上 plublic static final
 String injk1="接口1";
 
 void SayHello();
 void SayBad();
}

接口2:

jk2.java文件

package com.java1995;
/**
 * 这是一个接口,它的写法和抽象类的写法是完全不同的。
 * @author Administrator
 *
 */
public interface jk2 {
 //接口中变量默认的都会加上 plublic static final
 String injk1="接口2";
 /**
  * 接口中的方法,修饰符只有两种 public和默认。默认的也是public abstract
  */
 void SayHello();
 void SayGoodBye();
 void SaySS();
}


一个抽象类:

AbsApply.java文件

package com.java1995;
/**
 * 这是一个抽象类,抽象列中可以有普通的方法,但是继承它的子类,不想变成抽象类,就得实现父类的抽象方法,否则子类也会变成
 * 抽象类
 * @author Administrator
 *
 */
public abstract class AbsApply {
 /**
  * 非抽象方法
  */
 void  Introduce(){
  System.out.println("Introduce");
 }
 /**
  * 抽象方法
  */
 abstract void Sing();
}



继承抽象类和接口的类

Apply.java文件


package com.java1995;
/**
 * 体现了函数的“继承作用”
 * @author Administrator
 *
 */
public class Apply extends AbsApply implements jk1, jk2 {
/**
 * 类中实现接口的方法,方法的访问修饰符必须是public类型的。这是因为接口中的方法的默认修饰符都是public
 * abstract类型的,所以在实现接口的类中,实现接口的方法时,访问修饰符不能低于接口的访问修饰符。那所以类中重写
 * 接口的方法时,访问修饰符都是public类型的。
 */
 String school;
 @Override
 public void SayGoodBye() {
  // TODO Auto-generated method stub
  System.out.println("SayGoodBye");
 }

 @Override
 public void SaySS() {
  // TODO Auto-generated method stub
  System.out.println("SaySS");
 }

 @Override
 public void SayHello() {
  // TODO Auto-generated method stub
  System.out.println("SayHello");
 }

 @Override
 public void SayBad() {
  // TODO Auto-generated method stub
  System.out.println("SayBad");
 }

 /**
  * 这是重写的抽象类中的抽象方法
  */
 @Override
 void Sing() {
  // TODO Auto-generated method stub
  System.out.println("Sing");
 }

}


继承的Apply的子类 People类

People.java

package com.java1995;

public class People extends Apply {
 /**
  * 体现面向对象的   “封装” 特性
  */
 private String name;
 private int age;
 
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public int getAge() {
  return age;
 }
 public void setAge(int age) {
  if (age>150||age<0) {
   this.age=-1;
  }else{
   this.age = age;
  }
  
 }
 /**
  * 体现   函数重载的作用
  */
 public  void Introduce() {
  System.out.println("姓名:"+name+"年龄:"+age);
 }
 public void Introduce(String add) {
  System.out.println("地址:"+add+"姓名:"+name+"年龄:"+age);
  
 }

}
 

继承Apply的子类Student类

Student.java

package com.java1995;

public class Student extends Apply {
 public void StudentLaugh(){
  System.out.println("学生在笑");
 }
}


实验类 Test.java


package com.java1995;

public class Test {
 public static void main(String[] args) {
  /**
   * 抽象类的实验
   */
  Apply apply=new Apply();
  apply.SayBad();
  apply.SayGoodBye();
  apply.SayHello();
  apply.SaySS();
  System.out.println(jk1.injk1+";"+jk2.injk1);
  
  jk1 jk1=apply;
  jk1.SayBad();
  jk1.SayHello();
  
  jk2 jk2=apply;
  jk2.SayGoodBye();
  jk2.SayHello();
  jk2.SaySS();
  
  /**
   * 多态的体现
   * */
  
  People people=new People();
  people.setName("小明");
  people.setAge(12);
  people.Introduce();
  people.Introduce("北京");
  
  Student student=new Student();
  student.StudentLaugh();
  
  Apply peo1=new People();
  peo1.school="希望小学";
  System.out.println(peo1.school);
  
  Apply stu1=new Student();
  stu1.school="笃志小学";
  System.out.println(stu1.school);
  
 }
 
 
}



/**

*实验结果:

SayBad
SayGoodBye
SayHello
SaySS
接口1;接口2
SayBad
SayHello
SayGoodBye
SayHello
SaySS
姓名:小明年龄:12
地址:北京姓名:小明年龄:12
学生在笑
希望小学
笃志小学

*/







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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值