新手上路---Java学习知识梳理
我随笔
我相信也有那么一些人跟我一样,脱下军装后对未来感到迷茫,不知所措甚至怀疑起自己的能力,自身体会的经历过才能明白其中的辛酸!归咎一切:心态,信心,自信!再穷不过乞讨,不死终将出头。好了,闲言碎语打住,收好自己心态,踏上新征程!
总结面向对象编程基础知识
一,类和对象
1,什么是类? ,2 什么是对象?
1,类是抽象的概念,仅仅是模板。 2,对象是一个你能狗看得到,摸得着的具体实体。
二,使用对象的步骤
1,创建对象
类名 对象名 = new 类名();
2,引用对象成员:使用“.”进行以下操作
引用类的属性:对象名.属性
引用类的方法:对象名.方法名()
三,如何定义一个方法?
语法为: public 返回值类型 方法名(){
//此处编写方法体
}
方法返回值的注意事项:1,如果方法具有返回值,方法中必须使用关键字return返回该值,返回值类型为该值的类型。 2,如果方法没有返回值,返回值类型为void
四,如何理解方法的调用?
方法之间允许相互调用,不需要知道方法的具体实现,实现重用,提高效率。
五,如何使用带参数的方法
1,<访问修饰符>返回类型<方法名>(<形式参数列表>){
// }
2,调用带参数的方法
对象名.方法名(参数1,参数2....,参数n)
六,构造方法
访问修饰符 构造方法名(){ //初始化代码 }
注: 1,无返回值类型 2,方法名与类名相同 3,可以指定参数
作用:对象初始化 (系统提供默认无参构造方法)
七,构造方法重载
1,自定义构造方法 : ①方法名相同 ②参数项不同 ③与返回值,访问修饰无关
2,什么是方法重载?
①同一个类中 ②方法名相同 ③参数个数或类型不同 ④与返回值,访问修饰符无关
八,this关键字的用法
1,调用属性 如:this.属性名
2,调用方法 如:this.print();
3,调用构造方法 如:this(); 注:如果使用必须是构造方法中的第一条语句
九,什么是封装?
将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信 息的操作和访问。
1,为什么使用封装? 属性随意访问,不合理的赋值。
2,封装的两个大致原则
①把尽可能多的东西藏起来,对外提供便捷的接口
②把所有的属性藏起来
3,封装的步骤
①修改属性的可见性 注:设为private
②创建公有的getter/setter 注:用于属性的读写
③在get/setter方法中加入属性控制语句 注:对属性值的合法性进行判断
4,封装有什么好处?
①斑鱼使用者正确使用系统,防止错误修改属性。
②有助于系统之间的松耦性,提高系统独立性。
③提高软件的可重用性
④降低了构建大型系统的风险
十,为什么需要包?
答: 1,文档分门别类,易于查找和管理
2,使用目录解决文件同名冲突问题
1, 包的作用?
①允许类组成较小的单元(类似文件夹),易于找到和使用相应的文件
②防止命名冲突区分名字相同的类
③有助于实施访问权限控制
2,如何创建包?
package cn.inherit; //声明包
用Package声明包,以分号结尾
3,包的命名规范
①包名由小写字母组成,不能以圆点开头或结尾。
②包名之前最好加上唯一的前缀,通常使用组织倒置的网络域名。
③包名后续徐芬依不同机构内部的规范不同而不同。
十一,static修饰符
1,成员变量 注:静态变量,可以直接通过类名访问
2,成员方法 注:静态方法,可以直接通过类名访问
3,代码块 注:静态代码块当JAVA虚拟机加载时,就会执行该代码块
4,类的成员变量包括什么?
1, 类变量(静态变量)
①被static修饰的变量
②在内存中只有一个拷贝
③ 类内部,可以任何方法直接访问静态变量
④其他类中,可以直接通过类名访问
2,实例变量
①没有被static修饰的变量
②每创建一个实例,就会为实例变量分配一次内存,实例变量可以在内存中有多拷贝,互不 影响。
3,static变量使用
①能被类的所有实例共享,可作为实例之间进行交流的共享数据。
②如果类的所有实例包含一个相同的常量属性,可把这个属性定义为静态常量类型,从而 节省内存空间。
4,static方法
静态方法:可直接通过类名访问
①静态方法中不能使用this和super
②不能直接访问所属类的实例变量和实例方法
③可直接访问类的静态常量和静态方法
实例方法:通过实例访问
①可直接访问所属类的静态变量,静态方法,实例变量和实例方法
静态方法必须被实现
main()就是最常用的静态方法
继承 多态 接口 异常 学一点更新一点 以来为自己总结 二来与像我一样新手共勉 不足之处欢迎提出批评与指正
新手上路---Java学习知识梳理的更多相关文章
- java基础知识梳理
java基础知识梳理 1 基本数据类型
- Java学习知识体系大纲梳理
感悟 很奇怪,我怎么会想着写这么一篇博客——Java语言的学习体系,这不是大学就已经学过的课程嘛.博主系计算机科班毕业,大学的时候没少捧着Java教程来学习,不管是为了学习编程还是为了期末考个高分,都 ...
- 新手的java学习建议
前言 进入IT领域,就像进入大海—浩瀚而广阔.然而,它又很容易让人迷茫,不知所措.所以,在IT的海洋中,找好一艘船特别重要,这艘船带你前进.减少迷失.这艘船或许是一个人,或一本书,又或许是一篇文章. ...
- java 学习知识汇总
一:常见模式与工具 学习Java技术体系,设计模式,流行的框架与组件是必不可少的: 常见的设计模式,编码必备 Spring5,做应用必不可少的最新框架 MyBatis,玩数据库必不可少的组件 二:工程 ...
- 《面试补习》- Java集合知识梳理
一.ArrayList ArrayList 底层数据结构为 动态数组 ,所以我们可以将之称为数组队列. ArrayList 的依赖关系: public class ArrayList<E> ...
- Java Web知识梳理
今天给内部做了个培训,貌似搞错了对象,不该对新人讲这么原理性的东西. anyway,还是放上来吧,不知道有没有人能理清其中的逻辑 ^ _ ^ 问题:为什么要用tomcattomcat: servlet ...
- Java基础知识梳理《一》
一.Java数据类型(简单称之为“四类八种”) java 基本的数据类型长度都是固定的,好处是在实现跨平台时就统一了. 1.整型 byte short int long (分别是1,2,4,8个字节) ...
- 新手向:Java基础知识
Java 接口 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过继承接口的方式,从而来继承接口的抽象方法. 接口并 ...
- Java简单知识梳理
1. Java是单根继承结构:每个类都继承于Object类 ,这也就保证了每个对象都具备某些功能 2. Java类权限关键字: public -> protected -> default ...
随机推荐
- 解决在eclipse中写ImageView时有警告的问题
Eclipse中写了一个android程序其中main.xml中ImageView哪行是个黄叹号!不知道为什么? 解决办法: android:contentDescription="@str ...
- windos环境apache+mysql+php+Discuz的安装配置
首先是相关软件的下载:PHP.Apache和Mysql软件以及VC库.相关软件可到我的百度网盘下载,百度网盘:http://pan.baidu.com/s/1o6DYcMu 相关软件的直接下载地址: ...
- Node.js开发工具、开发包、框架等总结
开发工具 1.WebStorm,毫无疑问非他莫属,跨平台,强大的代码提示,支持Nodejs调试,此外还支持vi编辑模式,这点我很喜欢.2.做些小型项目用Sublime Text.3.Browserif ...
- python遍历一个目录,输出所有文件名
python遍历一个目录,输出所有文件名 python os模块 os import os def GetFileList(dir, fileList): newDir = dir if os. ...
- sui的一些方法封装
+ function($) { "use strict"; var today = new Date(); var getDays = function(max) { var da ...
- 搭建ntp 时钟服务器_Linux
一.搭建时间同步服务器1.编译安装ntp serverwget [url]http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2.4p4.tar.g ...
- TableView cell自适应高度-----xib
1.通过xib创建一个cell,将label进行上左下右,进行适配, self.automaticallyAdjustsScrollViewInsets = NO; self.edgesForExte ...
- 免费视频播放器videojs中文教程
Video.js是一款web视频播放器,支持html5和flash两种播放方式.更多关于video.js的介绍,可以访问官方网站介绍,我之前也写过一篇关于video.js的使用心得,有兴趣的可以点这里 ...
- C# WebClient、jQuery ajax jsonp实现跨域
WebClient 无传输数据获取 Uri uri = new Uri(allURL); WebClient wc = new WebClient(); wc.Encoding = System.Te ...
- 事件驱动的Python实现
EventManager事件管理类实现,大概就百来行代码左右.如果有不了事件驱动的工作原理的可以看前一篇<事件驱动的简明讲解> # encoding: UTF-8 # 系统模块 from ...