自己对Java的一些认识
作为一个理论性比较强的学生,谈一下这段时间对java以及对程序设计的理解
java相对于其它语言有几个特点,一个是面向对象,一个是强类型
首先谈谈面向对象,关于类和对象,这个一定要有深刻的认识,在类中,首先一个最重要的概念就是构造方法,为什么说它重要,就是因为你只要需要创建一个类地实例对象就需要调用到构造方法,这个就决定了这个类一开始要做什么,还是举一个例子吧
比如说BrfferedReader类,这个的构造方法就是BrfferedReader(Reader in)为什么它的构造方法里的参数是一个Reader对象呢?
因为它就是为了操作字符流对象产生的,构造它就必须要关联一个字符读取流对象,这样你就很好理解它要做什么了。
看完构造方法,我们接下来要看的就是具体类地方法,这个直接说明了它能操作什么,有什么功能,在方法中返回值也很重要,这时不得不提到java的强类型,真因为这样,你必须要了解一个方法具体的返回值,是对象还是那种数据类型,这样你才好定义容器或者相应的类来接收这个返回值,才好进行接下来的操作。
对于如何找到我们需要的方法,面向对象有三个特点封装,继承,多态。封装的理解,就是方法时封装在对象里的,这样理解就可以了,当我们需要具体的方法时,去找相应类对象就可以了。而继承,就是抽取公有的方法形成父类,其实我们在查阅api时,经常会在一个类当中没有找到我们相要的方法,这时我们就应该想到它的父类或者子类的相应方法,看看它的父类和子类,就可以找到我们需要的方法,一般api里有一个另请参见的选项,列出了一些常用的方法,包括继承来的方法。多态,其实应用最多的就是传递参数的时候,定义父类的对象,这样既可以传父类也可以传子类,大大扩展了方法的操作范围。
上面只是谈到了一些关于如何利用对面向对象的理解来运用API文档的查阅功能,因为我们在以后的学习和开发中不可能对每个类都详细的了解,所以要适应对陌生类地查阅和使用,掌握正确的API查询方式很重要,下面简单介绍一些API的使用
介绍一些重要的包及其类:
1)java.lang———这个包包含了一些形成语言核心的类,提供了类似Character、Integer和Double这样的封装类。它还提供了系统标准类,如String和StringBuffer。Java编辑器总是自动装载这个包。因而一般不必显示导入java.lang中的任何类。这个包中的许多类在本书的许多其他章节还将叙述。
2)java.applet———这个包提供了创建Java applet的途径,Java applet运行在Web浏览器下,通常通过Internet下载。
3)java.awt———是由许多组成Java的抽象视窗工具(awt)的类所组成的包,它提供了基于类的图形用户界面,可以为Java applet和应用程序编程提供视窗、按钮、对话框及其他控件。
4)java.net———这个包提供了网络、套接字处理器和Internet实用工具类。
5)java.io———这个包中的类提供了输入输出服务,用于读出和写入文件数据,访问键盘输入和打印输出。
6)java.util———这个包包含为任务设置的实用程序类和集合框架类,每一个Java应用程序和Java applet可能至少会用到这个包中的一个类。另外它还提供了Collection接口和它的实现容器类,如List和Set。
7)java.rmi———远程方法启用包,在这个包中的类提供了通过远程接口控制的分布式代码的支持。通过该包中的类,可以创建Java应用程序,使它的不同部分在不同的系统中一起运行。
8)java.sql———这个包提供了结构化查询语言数据库字段类型和方法的实现。根据系统的不同,这个包的类可能会通过一个特定的数据库系统实现,或者缺省时通过ODBC(开放数据库连接)标准的直接映射实现。
这个可以了解具体的包,还有API的搜索选项,可以直接查找自己所要找的类。
对于实在不明白的类方法,可以自己去敲一下,验证一下,往往自己运用一下就明白了。
多实践,相信大家都能做到的,加油。
自己对Java的一些认识的更多相关文章
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题
背景起因: 记起以前的另一次也是关于内存的调优分享下 有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...
- Elasticsearch之java的基本操作一
摘要 接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...
- 论:开发者信仰之“天下IT是一家“(Java .NET篇)
比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...
- 故障重现, JAVA进程内存不够时突然挂掉模拟
背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...
- 死磕内存篇 --- JAVA进程和linux内存间的大小关系
运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...
- 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用
有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...
- Java多线程基础学习(二)
9. 线程安全/共享变量——同步 当多个线程用到同一个变量时,在修改值时存在同时修改的可能性,而此时该变量只能被赋值一次.这就会导致出现“线程安全”问题,这个被多个线程共用的变量称之为“共享变量”. ...
- Java多线程基础学习(一)
1. 创建线程 1.1 通过构造函数:public Thread(Runnable target, String name){} 或:public Thread(Runnable target ...
- c#与java的区别
经常有人问这种问题,用了些时间java之后,发现这俩玩意除了一小部分壳子长的还有能稍微凑合上,基本上没什么相似之处,可以说也就是马甲层面上的相似吧,还是比较短的马甲... 一般C#多用于业务系统的开发 ...
随机推荐
- python之匿名函数lambda
# lambda:匿名函数 # 语法:lambda 参数: 表达式 answer = lambda x: x * 5 print("answer(5): ", answer(5)) ...
- AWS、Azure和Google的云容器注册表有什么区别?
亚马逊云计算服务(AWS).谷歌云服务和微软Azure,这三大公共云平台都提供Docker容器注册表.虽然他们的产品看起来很相似,但开发人员在做出选择之前,应该先了解价格和功能方面的差异. 公共云供应 ...
- Jquery_如何扩展方法
jQuery 别名 $ 一. 类级别扩展方法(比如$.ajax(...)) 1> 单个全局方法 $.testExtend = function (){ console.log("单个 ...
- Mysql 主从服务器数据同步
安装2台windows Server 服务器,分别安装Mysql,配置环境变量,完成安装确认在CMD窗口可以使用Mysql命令 在Master服务器上创建同步账号,确保Slave服务器能访问Maste ...
- 自学Zabbix13.1 分布式监控proxy介绍
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix13.1 分布式监控proxy介绍 zabbix2.4版本之前,zabbix提供了 ...
- luogu4197 Peaks (kruskal重构树+主席树)
按照边权排序建出kruskal重构树,每次就变成了先找一个权值<=x的最远的祖先,然后看这个子树的第k小.离散化一下,在dfs序上做主席树即可 而且只需要建叶节点的主席树 注意输出的是第k小点的 ...
- python 忽略警告
import warningswarnings.filterwarnings("ignore")看起来整洁一点...
- 爬楼梯问题 leetcode70
假设你正在爬楼梯,需要n阶你才能到达楼顶,n是正整数 每次你可以爬1或2个台阶,有多少种不同的方法可以爬到楼顶 当n=1时,steps=1 当n=2时,1+1,2 steps=2 当n=3时,1+1+ ...
- 【POJ3017】Cut the Sequence
题目大意:给定一个长度为 N 的序列,将序列划分成若干段,保证每段之和不超过 M,问所有段的最大值之和最小是多少. 题解:设 \(f[i]\) 表示前 i 个数满足上述条件的最优解,显然有状态转移方程 ...
- 【bzoj3680】平衡点 模拟退火
模拟退火是一种求函数最值问题的随机算法. 给定一个函数的某一初始坐标,可以拟定一个"温度"(这里主要是借用退火的物理意义),这里的温度可以理解成自变量可以取值的范围.之后在当前最优 ...