Java学习笔记【四、类、对象、接口】

时间:2022-06-03 08:46:29

编程语言的发展

  • 机器语言
  • 过程语言
  • 面向对象编程——封装、继承、多态

关键字

extends implements

override overload

super this

static abstract super

package(声明当前类属于哪个包) import(引用某个包里的某个类)

类、对象相关概念

public class HelloWorld { // {}中的是类体
public static String ClassVar; // 类变量/静态变量
public String ObjVar; // 成员变量/实例变量 // 方法声明 {}中是方法体
public HelloWorld() {
} // 构造,不显示实现时,会有默认构造 public static void main(String[] args) { // main方法
String word = "Hello World!"; // 局部变量
String name = "Tom";
PrintWord(word);
PrintWord(name, word); //类方法调用
HelloWorld hw = new HelloWorld(); //声明一个类对象,并分配空间
hw.PrintWord(word, 0); //实例方法调用
} // 类方法
public static void PrintWord(String word) {
System.out.println(word);
} // 方法重载
public static void PrintWord(String name, String word) {
System.out.println(name + " said:" + word);
} // 实例方法
public void PrintWord(String word, int n) {
System.out.println(word + "[" + n + "]");
}
}

接口interface

一个类只能有一个父类,但可以实现多个接口

标记接口:没有任何方法定义的接口

接口与类的区别:

  • 接口不能用于实例化对象。
  • 接口没有构造方法。
  • 接口中所有的方法必须是抽象方法。
  • 接口不能包含成员变量,除了 static 和 final 变量。
  • 接口不是被类继承了,而是要被类实现。
  • 接口支持多重继承。

抽象类和接口的区别

  • 抽象类中的方法可以有方法体,就是能实现方法的具体功能,但是接口中的方法不行。
  • 抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型的。
  • 接口中不能还有静态代码块以及静态方法(用 static 修饰的方法),而抽象类是可以有静态代码块和静态方法。
  • 一个类只能继承一个抽象类,而一个类却可以实现多个接口。

封装性

用private隐藏不必要暴露的逻辑

继承性extends、implements

子类可访问父类的public、protect方法和变量

接口也可以有继承

多态性(要素:继承、重写、父类引用指向子类对象)

父类方法被多个子类重写时,各自产生自己功能的行为

子类对象的引用赋给父类对象称为上转型

可以把实现某一接口的类创建的对象引用赋给接口声明的变量,通过变量对接口方法的调用去调用不同的实现类的方法实现

内部类

在类内定义的类

匿名类

直接new一个类,并在其后{}中实现

异常类

try...catch...finally

Class类【反射】

利用Class类,可以获取类的名字、全部构造、全部变量、全部方法

包装类

byte/short/int/long/float/double/char

Byte/Short/Integer/Long/Float/Double/Charactor

包装类提供了一些常用的方法

【装箱】值类型转换为引用类型(包装类)

【拆箱】引用类型转换为值类型

反编译/文档生成器

javap/javadoc

JAR文件

可以将应用程序/类压缩为JAR文件(类似于dll)

  • 步骤:
  1. 编写清单文件

    Mymoon.mf

    Manifest-Version: 1.0 //有且只有一个空格

    Main-Class: A //此处打包两个类,A为主类;若将多个类打包则为:Class: A B X

    Created-By: 1.4(Tc Company)
  2. 生成JAR文件

    D:\test\jar cfm Tom.jar Mymoon.mf A.Class B.Class
  • 更新、查看JAR

    tf 查看

    xf 解压

    -uf 更新

Java学习笔记【四、类、对象、接口】的更多相关文章

  1. 初探swift语言的学习笔记四(类对象,函数)

    作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/29606137 转载请注明出处 假设认为文章对你有所帮助,请通过留言 ...

  2. Java学习笔记之---类和对象

    Java学习笔记之---类和对象 (一)类 类是一个模板,它描述一类对象的行为和状态  例如:动物类是一个类,动物们都有属性:颜色,动物们都有行为:吃饭 public class Dog { Stri ...

  3. Java学习笔记——File类之文件管理和读写操作、下载图片

    Java学习笔记——File类之文件管理和读写操作.下载图片 File类的总结: 1.文件和文件夹的创建 2.文件的读取 3.文件的写入 4.文件的复制(字符流.字节流.处理流) 5.以图片地址下载图 ...

  4. Java学习笔记 04 类和对象

    一.类和对象的概念 类 >>具有相同属性和行为的一类实体 对象 >>实物存在的实体.通常会将对象划分为两个部分,即静态部分和动态部分.静态部分指的是不能动的部分,被称为属性,任 ...

  5. Java学习笔记四---打包成双击可运行的jar文件

    写笔记四前的脑回路是这样的: 前面的学习笔记二,提到3个环境变量,其中java_home好理解,就是jdk安装路径:classpath指向类文件的搜索路径:path指向可执行程序的搜索路径.这里的类文 ...

  6. [core java学习笔记][第六章接口与内部类]

    接口域内部类 接口 描述类具有什么功能,不给出具体实现. 内部类 用于设计协作关系的类集合 代理 实现任意接口的对象. 6.1 接口 接口声明 public interface Comparable ...

  7. java学习笔记3--类与对象的基础

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note3.html,转载请注明源地址. 1.面向对象的程序设计方法概述 面向对象的程序设计 与 ...

  8. Java 学习笔记(8)——匿名对象与内部类

    一般在编写代码时可能会遇到这样的场景--在某些时候,我需要定义并某个类,但是只会使用这一次,或者是某个类对象只会使用一次,为它们专门取名可能会显的很麻烦.为了应对这种情况,Java中允许使用匿名对象和 ...

  9. 0026 Java学习笔记-面向对象-抽象类、接口

    抽象方法与抽象类 抽象方法用abstract修饰,没有方法体部分,连花括号都不能有: 抽象方法和抽象类都用abstract修饰 包含抽象方法的类一定是抽象类:但不包含抽象方法的类也可以是抽象类 不能创 ...

  10. Java学习笔记之——类与对象

    1.参数的传递方式 1)值传递 2)引用传递 2.类和对象: (1)类的定义: public class 类名{ 类型 属性1: 类型 属性2: ……… public 返回值类型 方法名1(形参){ ...

随机推荐

  1. jQuery第一篇 (帅哥)

      同学心目中的jQuery: 简单易用,功能强大,对移动端来说,体积稍大. 1.1 回顾前面学到的js我们遇到的一些痛点 window.onload 事件有个事件覆盖的问题,我们只能写一个 代码容错 ...

  2. jquery最常用的几个方法。

    jquery使用手册:http://www.eduyo.com/doc/jquery/cheatsheet.html addClass 样式: <style> .textRed { col ...

  3. Coder-Strike 2014 - Finals &lpar;online edition&comma; Div&period; 2&rpar; C题

    C. Online Meeting time limit per test 1 second memory limit per test 256 megabytes input standard in ...

  4. JAVA字符串格式化String&period;format&lpar;&rpar;的使用

    JAVA字符串格式化-String.format()的使用常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的同学应该记得C语言的sprin ...

  5. &period;NET批量大数据插入性能分析及比较

    数据插入使用了以下几种方式 1. 逐条数据插入2. 拼接sql语句批量插入3. 拼接sql语句并使用Transaction4. 拼接sql语句并使用SqlTransaction5. 使用DataAda ...

  6. VirtualBox 上安装CentOS 6&period;5

    目标:1.在VirtualBox中安装CentOS2.配置虚拟机网络,实现:    a.主机联网后,宿机能够通过主机上网    b.不管主机联网与否,主机都能SSH登录宿机,并且主宿机能互相传送文件 ...

  7. 使用SQL存储过程有什么好处 用视图有什么好处

    随便胡乱说几点,大家补充一下.1.预编译,已优化,效率较高.避免了SQL语句在网络中传输然后再解释的低效率.2.如果公司有专门的DBA,写存储过程可以他来做,程序员只要按他提供的接口调用就好了.这样分 ...

  8. Hibernate update 和 merge 、saveOrUpdate的区别

    this.getSession().update(obj); this.getSession().merge(obj); this.getSession().saveOrUpdate(obj); 1. ...

  9. parse&lowbar;str&lpar;&rpar; 函数把查询字符串解析到变量中。

    定义和用法 parse_str() 函数把查询字符串解析到变量中. 注释:如果未设置 array 参数,则由该函数设置的变量将覆盖已存在的同名变量. 注释:php.ini 文件中的 magic_quo ...

  10. CEF C&plus;&plus;调用前端js方法展示传递过来的图片数据

    转载:https://blog.csdn.net/lengyuezuixue/article/details/79769103 在项目开发过程中遇到一个需求,通过C++调用js方法传参给前端显示图片, ...