原创

java基础08

面向对象与关键字

final关键字的概述及特点

final关键字是最终的意思,可以修饰类,成员变量,成员方法。修饰类,类不能被继承

修饰变量,变量就变成了常量,只能被赋值一次

修饰方法,方法不能被重写

静态的概述

当在定义类的时候,类中都会有相应的属性和方法。而属性和方法都是通过创建本类对象调用的。当在调用对象的某个方法时,这个方法没有访问到对象的特有数据时,方法创建这个对象有些多余。可是不创建对象,方法又调用不了,这时就会想,那么我们能不能不创建对象,就可以调用方法呢?

可以的,我们可以通过static关键字来实现。static它是静态修饰符,一般用来修饰类中的成员。

静态的特点被类的所有对象共享

这也是我们判断是否使用静态关键字的条件

可以通过类名调用

优先于对象存在

随着类的加载而加载

static方法的访问特点及注意事项

静态方法的访问特点

静态方法只能访问静态的成员变量和静态的成员方法

静态方法的注意事项在静态方法中是没有this,super关键字的

静态的内容是随着类的加载而加载,this和super是随着对象的创建而存在。

抽象类的特点

抽象类和抽象方法必须用abstract关键字修饰

格式:

public abstract class 类名 {}
public abstract void eat();

抽象类不一定有抽象方法,有抽象方法的类一定是抽象类 抽象类不能实例化

抽象类如何实例化

按照多态的方式,由具体的子类实例化。其实这也是多态的一种,抽象类多态。

抽象类的子类

要么是抽象类

要么重写抽象类中的所有抽象方法

抽象类的成员的特点

成员变量

  • 可以是变量
  • 也可以是常量构造方法
  • 有构造方法,但是不能实例化构造方法的作用是什么
  • 用于子类访问父类数据的初始化成员方法
  • 可以有抽象方法 限定子类必须完成某些动作
  • 也可以有非抽象方法 提高代码复用性

接口的特点

接口用关键字interface表示格式:public interface 接口名 {} 类实现接口用implements表示 格式:public class 类名 implements 接口名 {} 接口不能实例化 接口如何实例化 按照多态的方式,由具体的实现类实例化。其实这也是多态的一种,接口多态。 接口的实现类 要么是抽象类,要么重写接口中的所有抽象方法

接口的成员特点

成员变量只能是常量 默认修饰符 public static final 构造方法 没有,因为接口主要是扩展功能的,而没有具体存在 成员方法 只能是抽象方法 默认修饰符 public abstract

类与类类与接口接口与接口的关系

类与类继承关系,只能单继承,但是可以多层继承 类与接口 实现关系,可以单实现,也可以多实现。还可以在继承一个类的同时实现多个接口 接口与接口 继承关系,可以单继承,也可以多继承抽象类与接口的区别

成员区别抽象类 变量,常量;有抽象方法;抽象方法,非抽象方法 接口 常量;抽象方法 关系区别 类与类 继承,单继承 类与接口 实现,单实现,多实现 接口与接口 继承,单继承,多继承 设计理念区别 抽象类 被继承体现的是:”is a”的关系。共性功能 接口 被实现体现的是:”like a”的关系。扩展功能

包的概述和权限修饰符

包的概述其实就是文件夹 作用:对类进行分类管理 包的划分: 举例: 学生的增加,删除,修改,查询 老师的增加,删除,修改,查询 以及以后可能出现的其他的类的增加,删除,修改,查询 基本的划分:按照模块和功能分。 高级的划分:就业班做项目的时候你就能看到了。 定义包的格式 package 包名; 多级包用.分开即可

注意事项:

  • package语句必须是程序的第一条可执行的代码
  • package语句在一个java文件中只能有一个
          public   protected	默认	private
同一类中     √         √	          √	     √
同一包子类   √         √	          √	
不同包子类   √         √
不同包其他类 √

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 相关资源

    待你如初见
  • Scrapy 持续自动翻页爬去数据

    待你如初见
  • Scrapy入门

    当页面被爬虫解析所需的数据存入Item后,将被发送到项目管道(Pipeline),并经过几个特定的次序处理数据,最后存入本地文件或存入数据库

    待你如初见
  • Java学习之抽象类与接口

    抽象类是用来捕捉子类的通用特性的。 不能被实例化。只能被用作子类的超类。 抽象类是被用来创建继承层级里子类的模板。

    cherishspring
  • JavaSE学习总结(六)——接口与抽象类

    一、不需要实例化的原因 看一个示例: package com.zhangguo.chapter5.s1; /**动物园*/ public class Zoo ...

    张果
  • 聊聊在Go语言里使用继承的翻车经历

    Go不是面向对象的语言,但是使用组合、嵌套和接口可以支持代码的复用和多态。关于结构体嵌套:外层结构体类型通过匿名嵌套一个已命名的结构体类型后就可以获得匿名成员类...

    KevinYan
  • XXE攻击原理研究

    https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Processing

    意大利的猫
  • 粒子群优化

    粒子群优化 PSO 引言 在机器学习问题中以及实际实践中,大多数的建模与控制问题最终都可以转化为一个约束或者无约束的优化问题,这些问题一般比较复杂,主要表现为规...

    昱良
  • Python基础教程(四)

    上面是sys模块所有语法,我们看看就够了,了解下sys.argv和sys.path就足够了

    润森
  • 微信的最好年华,与《财富》论坛下的广州

    很难用言语去表达《财富》论坛之于广州的喜悦之情。这座城市上一次被全世界的光芒照耀,还要追溯到 7 年前的亚运会。而那一年,微信刚刚诞生。

    知晓君

扫码关注云+社区

领取腾讯云代金券