java基础(一)
2016-02-18 17:24
375 查看
用一个简单的例子记录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
学生在笑
希望小学
笃志小学
*/
接口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
学生在笑
希望小学
笃志小学
*/
相关文章推荐
- Java中的反射机制
- Java导出Excel
- java二维码资料
- java设计模式之——策略模式
- java中的BigDecimal和String的相互转换
- java基础—java的Io操作学习(1)
- java入门
- Java线程池的那点事
- Java核心技术学习笔记之二:Java运算符
- Java代码编译和执行的整个过程
- Java核心技术学习笔记之一:Java的基本程序设计结构
- 【实战Java高并发程序设计 5】让普通变量也享受原子操作
- Struts2-3.struts.xml的action可以简写
- Struts2 OGNL的一个例子
- Spring入门
- Java -Xms -Xmx -Xss -XX:MaxNewSize -XX:MaxPermSize含义记录
- 【练习】String类的trim方法
- The Java™ Tutorials — Concurrency :Executors
- eclipse git 整合
- JAVA线程池ThreadPoolExecutor的简单使用