Java学习笔记【四、类、对象、接口】
编程语言的发展
- 机器语言
- 过程语言
- 面向对象编程——封装、继承、多态
关键字
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)
- 步骤:
- 编写清单文件
Mymoon.mf
Manifest-Version: 1.0 //有且只有一个空格
Main-Class: A //此处打包两个类,A为主类;若将多个类打包则为:Class: A B X
Created-By: 1.4(Tc Company) - 生成JAR文件
D:\test\jar cfm Tom.jar Mymoon.mf A.Class B.Class
- 更新、查看JAR
tf 查看
xf 解压
-uf 更新
Java学习笔记【四、类、对象、接口】的更多相关文章
- 初探swift语言的学习笔记四(类对象,函数)
作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/29606137 转载请注明出处 假设认为文章对你有所帮助,请通过留言 ...
- Java学习笔记之---类和对象
Java学习笔记之---类和对象 (一)类 类是一个模板,它描述一类对象的行为和状态 例如:动物类是一个类,动物们都有属性:颜色,动物们都有行为:吃饭 public class Dog { Stri ...
- Java学习笔记——File类之文件管理和读写操作、下载图片
Java学习笔记——File类之文件管理和读写操作.下载图片 File类的总结: 1.文件和文件夹的创建 2.文件的读取 3.文件的写入 4.文件的复制(字符流.字节流.处理流) 5.以图片地址下载图 ...
- Java学习笔记 04 类和对象
一.类和对象的概念 类 >>具有相同属性和行为的一类实体 对象 >>实物存在的实体.通常会将对象划分为两个部分,即静态部分和动态部分.静态部分指的是不能动的部分,被称为属性,任 ...
- Java学习笔记四---打包成双击可运行的jar文件
写笔记四前的脑回路是这样的: 前面的学习笔记二,提到3个环境变量,其中java_home好理解,就是jdk安装路径:classpath指向类文件的搜索路径:path指向可执行程序的搜索路径.这里的类文 ...
- [core java学习笔记][第六章接口与内部类]
接口域内部类 接口 描述类具有什么功能,不给出具体实现. 内部类 用于设计协作关系的类集合 代理 实现任意接口的对象. 6.1 接口 接口声明 public interface Comparable ...
- java学习笔记3--类与对象的基础
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note3.html,转载请注明源地址. 1.面向对象的程序设计方法概述 面向对象的程序设计 与 ...
- Java 学习笔记(8)——匿名对象与内部类
一般在编写代码时可能会遇到这样的场景--在某些时候,我需要定义并某个类,但是只会使用这一次,或者是某个类对象只会使用一次,为它们专门取名可能会显的很麻烦.为了应对这种情况,Java中允许使用匿名对象和 ...
- 0026 Java学习笔记-面向对象-抽象类、接口
抽象方法与抽象类 抽象方法用abstract修饰,没有方法体部分,连花括号都不能有: 抽象方法和抽象类都用abstract修饰 包含抽象方法的类一定是抽象类:但不包含抽象方法的类也可以是抽象类 不能创 ...
- Java学习笔记之——类与对象
1.参数的传递方式 1)值传递 2)引用传递 2.类和对象: (1)类的定义: public class 类名{ 类型 属性1: 类型 属性2: ……… public 返回值类型 方法名1(形参){ ...
随机推荐
- Eclipse中给SVN添加项目
SVN添加项目, 1.在svn资源库中的目标路径上右键,新建一个远程文件夹,文件夹名称和项目名称一致即可. 2,在新建的远程目录上右键,选导入,导入我们要放到svn的本地项目. 3.导入时选中项目的名 ...
- Elasticsearch安装配置问题
1.配置服务 ip 和 端口 进入 elasticsearch 安装目录,打开 config/elasticsearch.yml 配置 net.host 和 http.port net.host: 0 ...
- spring boot系列(六)spring boot 配置mybatis(xml简化版)
orm框架的本质是简化编程中操作数据库的编码,发展到现在基本上就剩两家了,一个是宣称可以不用写一句SQL的hibernate,一个是可以灵活调试动态sql的mybatis,两者各有特点,在企业级系统开 ...
- RobotFramework的安装
Robot Framework自动化测试框架+可视化编辑工具RIDE+Selenium2这是规范的webAPI. 一通过下载安装包安装 1)RF 框架是基于 Python 语言的,所以一定要有 Pyt ...
- VMware虚拟机桥接方式与真实主机共享上网
原始出处 .http://meiling.blog.51cto.com/6220221/1367695 一.先介绍一下VMware网络设置的三种方式: VMWare提供了三种工作模式,host-onl ...
- C#中的接口和抽象类学习
今天学习了接口和抽象类,但并没有很好的进行整理,所以现在写的时候,脑子里多少有点乱乱的,先从接口开始吧. interface 接口,规定了所有派生类的需要遵循的标准,接口定义了需要做些什么,但是没有具 ...
- BiGAN的复现
数据集是10000个样本,前8000个训练集,后面的用来测试.每个样本是1*144(重构成12*12的矩阵),将原始BiGAN有编码器.判别器和生成器,将里面的全连接层全部替换成了卷积. from _ ...
- 深入理解C语言-函数指针
函数指针在C++中有着重要的应用,函数的函数名其本质就是代表一个地址,这个地址叫做函数入口,得到这个地址就可以对这个函数进行各种操作. 函数类型基础 函数三要素: 名称.参数.返回值 C语言中的函数有 ...
- mapreducer计算原理
mapreducer计算原理
- hbase数据导出和恢复 设置双master + 查看hbase表占用磁盘大小
1.备份TETST111hbase org.apache.hadoop.hbase.mapreduce.Export TEST111 /do1/hh2.drop 掉test111表 -- 只能dro ...