博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
寒假的Java学习笔记总结1
阅读量:6149 次
发布时间:2019-06-21

本文共 1789 字,大约阅读时间需要 5 分钟。

1.抽象类(用abstract关键字修饰声明)

(1)包含抽象方法的抽象类也必须用abstract关键字来声明。

(2)抽象类中来声明的抽象构造方法必须在子类中调用(抽象方法必须包含于抽象类)。

抽象类的特点:

(1)不能直接被实例化,也不能直接用new关键字来产生对象。

(2)只需要声明,不需实现。

(3)抽象子类必须覆盖所有抽象方法后才能被实例化。

(4)含有抽象方法的类必须被声明为抽象类。

以下代码是抽象类的应用

abstract class Person

{
 String name;
 int age;
 String occupation;
 //声明一个抽象方法talk;
 public abstract String talk();
}
//Student继承自Person类
class Student extends Person
{
 public Student(String name,int age,String occupation)
 {
  this.name=name;
  this.age=age;
  this.occupation=occupation;
 }
 //覆写talk()
 public String talk()
 {
  return "学生--姓名:"+this.name+",年龄:"+this.age+",职业:"+this.occupation+"!";
 }
}
//Worker继承自Person类
class Worker extends Person
{
 public Worker(String name,int age,String occupation)
 {
  this.name=name;
  this.age=age;
  this.occupation=occupation;
 }
 //覆写talk()
 public String talk()
 {
  return "工人--姓名:"+this.name+",年龄:"+this.age+",职业:"+this.occupation+"!";
 }
}
public class Java {

 public static void main(String args[])

 {
  Student s=new Student("陈昆明",22,"学生");
  Worker w=new Worker("李四",52,"工人");
  System.out.println(s.talk());
  System.out.println(w.talk());
 }
}

运行结果:

 

2.接口

(1)格式

interface 接口名称

{

        final 数据类型 成员名称=常量             //数据成员必须赋初值

        abstract(抽象方法声明时关键字可以省略)   返回值数据名称   方法名(参数)     //抽象方法

}

 

class 类名称 implement 接口A,接口B

{······}

(注1:抽象方法里没有定义方法的主体,借口哦与一般类一样,但是方法必须为抽象方法)

(注2:与抽象方法不同的是,一个类可以继承多个接口。再覆盖抽象方法时,在子类中不用abstract声明。)

接口的应用代码:

interface Person

{
 String name="Left涅槃";
 int age=22;
 String occupation="学生";
 //声明一个抽象方法talk()
 public abstract String talk();
}
//Student类实现Person类
class Student implements Person
{
 //覆写talk()方法
 public String talk()
 {
  return "学生-->姓名:"+name+",年龄:"+age+",职业:"+occupation+"!";
 }
}
public class Javajeikou1 {
 public static void main(String args[])
 {
  Student s=new Student();
  System.out.println(s.talk());
 }
}

运行截图:

 

转载于:https://www.cnblogs.com/CkmIT/p/6385975.html

你可能感兴趣的文章
Html Agility Pack/SgmlReader 解析html
查看>>
[转载]使用命令安装和卸载windows服务
查看>>
[转] 浅谈session,cookie,sessionStorage,localStorage的区别及应用场景
查看>>
【shell】awk格式对齐文本
查看>>
Load 方法 暨 程序的加载顺序
查看>>
Idea添加Jetty时提示JMX module is not included
查看>>
AppSettings和ConnectionStrings的区别
查看>>
cocoapods 更新本地仓库 pod setup/update 无限远程中断
查看>>
Codevs2018 反病毒软件
查看>>
JNI 最佳实践
查看>>
JVM笔记 7 虚拟机类加载机制
查看>>
【BZOJ】3143: [Hnoi2013]游走 期望+高斯消元
查看>>
常用排序算法:桶排序
查看>>
社区发力——开发组募捐提前超额完成
查看>>
【题解】 P1072 Hankson 的趣味题
查看>>
【题解】 P4284 [SHOI2014]概率充电器
查看>>
前端利用Post方式与后台交互导出Excel
查看>>
二、Java面向对象(8)_继承思想——方法覆盖
查看>>
CSS实现单行、多行文本溢出显示省略号
查看>>
时和年丰系统制度开发
查看>>