Java基础10一面向对象
抽象
概念:当一个类中没有足够的信息描述一个现实生活中具体存在的事物,那么这个类就是抽象类。
抽象类一般是对概念领域中的描述。
语法:
[访问修饰符] abstract class 类名{
}
如:
public abstract class Person{
}
特点:
1.抽象类不能够创建对象,但是可以有构造方法,抽象类的构造方法是给子类调用的。如:
public abstract class Person{
//这个方法是正确的
public Person(){
System.out.println("构造方法");
}
//但是不能这样创建对象
Person per = new Person();
}
2.抽象类中可以包含抽象方法,但是静态方法不能是抽象的。
抽象方法的定义语法:
[访问修饰符] abstract 返回值类型 方法名称(参数列表);
public abstract class Person{
//抽象方法
public abstract void sleep();
//静态方法
public static void say(){
System.ou.println("你好");
}
}
如果一个类中有一个抽象方法,那么这个类一定是抽象类,但是一个抽象类中不一定有抽象方法。
子类继承了抽象类,那么子类一定要实现父类中所有的抽象方法,否则子类也要声明为抽象类。
接口
接口就是用来声明功能(方法),在接口中只有方法的声明和常量。
定义语法:
[访问修饰符] interface 接口名称{
}
接口特点:
接口中没有构造方法,也不能够创建接口的对象。
接口中的方法由类来实现。
接口中定义的方法,访问修饰符永远都是public。
接口中定义的变量永远都是常量。
接口中常量被public static final 修饰。
接口可以实现多继承。
接口实现多继承
语法:
[访问修饰符] interface 接口名称 extends 接口1,接口2…{
}
实现接口通过implements关键字来实现
语法:
[访问修饰符] class 类名 implements 接口名称{
}
实现接口,那么就要实现接口中所有的方法,否则当前类要定义为抽象类。
static关键字
前提:
实例变量和类变量
实例变量指的是通过类的对象去调用
类变量指的是无需通过类的对象调用,直接用类名调用即可。
作用:
static可以修饰变量成为静态变量或者类变量
static修饰的变量属于类,不属于某个对象,而且不管创建多少个对象,静态变量只有一个副本,也就是说所有对象使用的类变量是同一个。
static修饰的变量可以直接通过类名调用。
static修饰方法成为类方法,静态方法直接通过类名调用即可。
static可以修饰代码块,作用就是用来给静态变量初始化的。
语法:
static{
}
特点:
在静态方法中只能调用静态的方法或变量
在非静态方法中可以调用静态方法或静态变量
在静态方法中不能使用this,super关键字
局部变量不能是static修饰的。
Java基础10一面向对象的更多相关文章
- Java基础语法(11)-面向对象之关键字
title: Java基础语法(11)-面向对象之关键字 blog: CSDN data: Java学习路线及视频 1.this this是什么 它在方法内部使用,即这个方法所属对象的引用: clas ...
- Java基础教程:面向对象编程[2]
Java基础教程:面向对象编程[2] 内容大纲 访问修饰符 四种访问修饰符 Java中,可以使用访问控制符来保护对类.变量.方法和构造方法的访问.Java 支持 4 种不同的访问权限. default ...
- Java基础教程:面向对象编程[1]
Java基础教程:面向对象编程 内容大纲 Java语言概述 Java语言特点 1.Java为纯面向对象的语言,它能够直接反映现实生活中的对象.总之,Everything is object! 2.平台 ...
- Java基础教程:面向对象编程[3]
Java基础教程:面向对象编程[3] 内容大纲 基础编程 获取用户输入 java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入.我们可以查看Ja ...
- Java基础语法(9)-面向对象之类的成员
title: Java基础语法(9)-面向对象之类的成员 blog: CSDN data: Java学习路线及视频 1.面向对象特征--封装 为什么需要封装?封装的作用和含义? 我要用洗衣机,只需要按 ...
- JAVA基础知识之面向对象编程知识汇总
JAVA基础课程部分面向对象已经学习完成,知识结构如下: 总体知识框架: 类的结构: 面向对象编程三大特征: 关键字和抽象类接口等: 常见知识汇总: 成员变量和局部变量比较 有无返回值方法比较: 权限 ...
- Java基础一:面向对象的特征
经过16年校招,自己在Java基础方面也算有了一个质的飞跃,从原来知其然,到现在知其所以然,现将学习心得总结于此. 首先需要知道类和对象是什么? 维基百科定义类为: an extensible pro ...
- 零基础学Java(10)面向对象-使用LocalDate类完成日历设计
前言 在我们完成这个日历设计前,需要了解Java中的预定义类LocalDate的一些用法 语法 LocalDate.now() // 2022-07-01 会构造一个新对象,表示构造这个对象时的日期. ...
- java基础学习05(面向对象基础01)
面向对象基础01 1.理解面向对象的概念 2.掌握类与对象的概念3.掌握类的封装性4.掌握类构造方法的使用 实现的目标 1.类与对象的关系.定义.使用 2.对象的创建格式,可以创建多个对象3.对象的内 ...
随机推荐
- day007 列表类型、元祖类型、 字典类型、 集合类型的内置方法
目录 列表数据类型的内置方法 作用 定义方式 优先掌握的方法 需要掌握的方法 元祖类型的内置方法 作用 定义方式 优先掌握的方法(参考列表方法) 字典类型的内置方法 作用 定义方式 优先掌握的方法 需 ...
- 慕课网页面app的滑动
#coding=utf-8from appium import webdriver def get_driver(): desc={ "platformName":"An ...
- POJ 1979 Red and Black (BFS)
链接 : Here! 思路 : 简单的搜索, 直接广搜就ok了. /****************************************************************** ...
- 51nod1256 乘法逆元【扩展欧几里得】
给出2个数M和N(M < N),且M与N互质,找出一个数K满足0 < K < N且K * M % N = 1,如果有多个满足条件的,输出最小的. Input 输入2个数M, N中间用 ...
- python的多版本安装以及常见错误(长期更新)
(此文长期更新)Python安装常见错误汇总 注:本教程以python3.6为基准 既然是总结安装过程中遇到的错误,就顺便记录一下我的安装过程好了. 先来列举一下安装python3.6过程中可能需要的 ...
- 天翼云 RDS数据库操作
1.RDS数据库创建好之后点击RDS实例管理找到已下信息 官方文档 -1:http://www.ctyun.cn/help/qslist/567 官方文档 -2:http://www.ctyun.cn ...
- 使用nginx+lua脚本读写redis缓存
配置 新建spring boot项目增加redis配置 <dependency> <groupId>org.springframework.boot</groupId&g ...
- 4443: [Scoi2015]小秃玩矩阵|二分答案|匈牙利
第K大看成第K小各种WA. .. 第K大也就是第n−K+1小.所以就能够愉快的二分答案了 二分答案找出比当前答案小的数的位置的坐标.推断一下能否够选出满足不在同一行同一列的n−K+1个数,然后就能够愉 ...
- android 点击返回键退出程序的方法
android 点击返回键退出程序的方法 第一种: 再按一次返回键退出程序 private long exitTime = 0; @Override public boolean onKeyDown( ...
- 《编程导论(Java)·1.4.1 范式》
这个楼主,是我的学生么?2013年写的! 嗯."编程范式或许是学习不论什么一门编程语言时要理解的最重要的术语".这句话早在2005年出版<Java程序设计>(宋中山,严 ...