Java面向对象小记(2)

1. 继承

用一个例子说明继承

class Person{
	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) {
		this.age = age;
	}
	public void tell(){
		System.out.println("name:"+ this.getName()+" "+"age:"+this.getAge());
	}
}

class Student extends Person{
	private int score;

	public int getScore() {
		return score;
	}

	public void setScore(int score) {
		this.score = score;
	}
	public void tell(){
		super.tell();  //使用父类方法
		System.out.println("score:"+score);
	}
}
public class ExtendDemo {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Student std = new Student();
		std.setAge(20);
		std.setName("thystar");
		std.setScore(100);
		std.tell();
	}

}

2 抽象类和借口

final关键字 声明类,方法,和属性

  • 使用final声明的类不能被继承
  • 使用final声明的方法不能被重写
  • 使用final声明的变量变成常量,常量不能修改

抽象类 : 包含抽象方法的类

abstract class className{

}

抽象方法:声明而未被实现的方法,用abstract关键字声明

抽象类被子类继承,要重写抽象类中的所有方法

抽象类不能直接实例化,要通过其子类实例化

abstract class Abs{
	private int age;
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public void tell(){}
	public abstract void say();
	public abstract void print();
}

class AbsClass extends Abs{
	public void say(){
		System.out.println(this.getAge());
	}
	public void print(){

	}
}

public class AbsDemo {
	public static void main(String[] args){
		AbsClass ab = new AbsClass();
		ab.setAge(20);
		ab.say();
	}
}

接口:

interface interName{

}

interface Inter{
	public static final int AGE=10;//公共全局常量
	public abstract void tell();
}

interface Inter2{
	public abstract void say();
}

abstract class Abs1{
	public abstract void print();
}

class A extends Abs implements Inter, Inter2{
	public void tell(){

	}
	public void say(){
		System.out.println("say");
	}
	public void print(){
		System.out.println("Abs");
	}
}

public class InterDemo01 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		A a = new A();
		a.tell();
		System.out.println(Inter.AGE);    //全局常量用类名调用
		a.say();
		a.print();
	}

}

极客学院课程:http://www.jikexueyuan.com/path/javaweb/

时间: 2024-10-17 22:27:04

Java面向对象小记(2)的相关文章

Java面向对象小记(1)

1. 创建类 Person 创建对象的内存划分图: 对属性赋值,操作为 对象.属性=赋值. class Person{ String name; int age; public void tell(){ System.out.println("name:"+ name+" "+"age:"+age); } } public class MethodDemo01 { public static void main(String[] args){ P

2062326 齐力锋 实验四《Java面向对象程序设计Android开发》实验报告

北京电子科技学院(BESTI) 实 验 报 告 课程: 程序设计与数据结构  班级: 1623  姓名: 齐力锋 学号: 20162326 成绩: 指导教师: 娄嘉鹏/王志强 实验日期: 2017年5月26日 实验密级:非密级 预习程度: 优良 实验时间: 2 Hours 仪器组次: 必修/选修: 必修 实验序号: 04 实验名称:Java面向对象程序设计Android开发 实验内容 1.Android Stuidio的安装测试: 参考<Java和Android开发学习指南(第二版)(EPUBI

java面向对象的核心思想

Java面向对象-抽象类与接口 1.Java final关键字的使用 package edu.tongji.fni; /*final关键字 * 1.final关键字在java中被称为完结器,表示最终的意思 * 2.final能声明类.方法.属性: * 使用final声明的类不能被继承 * 使用final声明的方法不能被重写 * 使用final声明的变量变成常量,常量是不可以被修改的 */ class People{ //前面加了final下面的类会报错 public void tell(){ }

JavaSE入门学习21:Java面向对象之接口(interface)(二)

一接口实现的多态 在上一篇博文:JavaSE入门学习20:Java面向对象之接口(interface)(一)中提到了接口的实现存在多态性,那么 这一篇主要就要分析接口实现的多态. 实例一 Test.java源文件代码: public class Test{ public static void main(String[] args){ //实现接口Singer Singer s1 = new Student("Amy"); s1.sing(); s1.sleep(); s1.study

第5篇-JAVA面向对象Ⅰ

第5篇-JAVA面向对象Ⅰ 每篇一句 :面向对象面向君,不负代码不负卿 初学心得: 代码虐我千百遍,我待代码如初恋 (笔者:JEEP/711)[JAVA笔记 | 时间:2017-04-03| JAVA面向对象 Ⅰ] 1.JAVA作为一种面向对象语言,具有以下基本概念: ● 多态 ● 继承 ● 封装 ● 抽象 ● 类 ● 对象 ● 实例 ● 方法 ● 重载 2.面向对象 什么是面向对象?: 面向对象是一种编程思想 通俗的说:面向对象是一种思考问题的思维方式 为什么使用面向对象以及它的作用 计算机语

《Java面向对象编程第二版》今年出版以来获得读者一致好评。

<Java面向对象编程第一版>自2016年出版以来,承蒙读者们的厚爱,至今已经重印了二十多次,成为国内Java领域里的经典Java技术宝典.在当当网上获得了1500多条好评: http://product.dangdang.com/9186890.html?point=comment_point 应广大读者的要求,为第一版进行了升级,第二版融合了最新的Java8的语言特性,它继续为Java开发人员们提供丰富全面的技术支持和帮助.在京东网上读者们对第二版的好评如潮,一致认为这是Java开发人员必

java面向对象 泛型

这个第一篇知识梳理的博客,希望我可以坚持下去将知识进行总结. 这是在极客学院里看到的视频,目录如下,蛮清晰的.然后我将视频中所说再记忆下. java面向对象之泛型:认识泛型 Java SE 1.5的新特性,泛型的本质是参数化类型,可以代表任何数据类型. java面向对象之泛型:构造函数中使用 class Gen<T>{ private T value; Gen(T value){//构造函数中就泛型就不需要用尖括号了 this.value=value; } public void setVal

JavaSE入门学习24:Java面向对象补充

一Java中的Object类 Object类是所有Java类的父类,如果一个类没有使用extends关键字明确标识继承另外一个类,那么这个类默认 继承Object类. public class Person{ // } //等价于 public class Person extends Object{ // } Object类中的方法,适合所有子类. 1)toString()方法 在Object类中定义有public String toString()方法,其返回值是String类型,描述当前对

Java程序设计 实验二 Java面向对象程序设计

北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计 班级:1353  姓名:李海空  学号:20135329 成绩:             指导教师:娄嘉鹏      实验日期:2015.5.7 实验密级:         预习程度:         实验时间: 仪器组次:          必修/选修:            实验序号: 实验名称:       Java面向对象程序设计 实验目的与要求:实验内容 1. 初步掌握单元测试和TDD 2.