JAVA基础知识总结:八
面向对象语言的三大特性;封装、继承、多态
一、面向对象语言特性之封装
1.什么是封装?
一个类中某些属性,如果不希望外界直接访问,我们可以将这个属性作为私有的,可以给外界暴露出来一个访问的方法
使用封装解决私有化的问题
私有化使用private关键字
2.private的使用
1>修饰成员变量,表示这个成员变量只能在当前类中被访问
2>修饰成员方法,表示这个方法只能在当前类中被调用
3.get/set方法
对于private修饰的成员变量,如果要在外界使用,则使用get和set方法进行取值和赋值
语法
get------获取值
访问权限修饰符 返回值类型(成员变量的类型)getXxx() { 例如:public int getAge() {}
}
set-----赋值
访问权限修饰符 void setXxx(成员变量类型 变量名称) { 例如:public void setAge(int a){}
}
4.this关键字
this表示的是对当前对象的引用
1>this.属性:访问本类中的成员变量
总结:一般情况下,当私有变量的set方法中参数名称和成员变量相同的时候,使用this进行区分,有参构造方法中也是同样的道理(当局部变量名和成员变量名相同时,this表示的是成员变量名)
2>this.方法:访问本类中的方法
3>this():访问本类中的构造方法
注意:a.this()只能写在构造方法中
b.this()只能出现在其他构造方法中执行语句的第一行
c.this()具体调用的是哪个构造方法,取决于所传的参数
5.static关键字
1>静态成员变量
由static修饰的成员变量被称为静态成员变量
语法:访问权限修饰符 static 数据类型 变量名称;
特点:
a.静态成员变量是属于类的,通过 类名. 的方式和 对象.的方式都可以进行访问
b。静态成员变量的声明出现在实例之前(静态成员变量随着类的字节码文件加载到JVM中,且只会加载一次)
c.使用类和不同对象访问的静态成员变量都属于同一块内存空间
2>静态方法
特点:
a.静态方法是属于类的,通过类名.的方式访问
b.静态方法优先于实例被加载到JVM中,与静态成员变量类似
c.在同一个类中,静态方法只能访问静态方法
什么时候使用静态?
当所有的对象需要共享数据的时候,就定义成静态成员变量----静态成员变量
对于一些普遍或者需要多次使用的功能,我们将它抽取成方法的时候就声明成静态方法
3>静态代码块
什么是代码块?
在类中独立存在的语句块,可以有多个,位置随意{}
什么是静态代码块?
被static修饰,直接出现在类中的语句块
语法:static {
//执行语句
}
用法:a.静态代码块用于为类的属性进行初始化
b.静态代码块是属于类的,随着类的加载而运行,每个静态代码块只会执行一次,静态代码块的执行优先于main函数
扩展:
4>普通代码块:在方法或者语句中出现的{}
普通代码块和一般语句的执行顺序由他们在代码中出现的顺序决定
5>构造代码块:直接在类中定义,且没有加static关键字的代码块
6。单例
单例是一种设计模式,
什么是设计模式?
前人总结的用来解决特定问题的方案
Java中有23中设计模式,常用的有单例设计模式,工厂设计模式
什么是单例设计模式?
在程序运行过程中,确保某一个类只有一个实例(对象),不管在哪个模块获取这个类的对象,获取到的都是同一个对象
实现方式:
a.懒汉式(饱汉式)
b.饿汉式
区别:a.懒汉式在一定程度上节约内存,但是数据是不安全的(线程不安全)
b.饿汉式,不节约内存,但是数据比较安全
7.包(package)
用来组织文件而存在的,和文件夹的功能相同
语法:package xx.yy.zz ---->class文件的存放位置
编译命令:javac -d . Java源文件名称(只要类中使用了package关键字)
注意:a.类编译生成的class文件存在于对应的包下
b。一般情况下,不同的类编译生成的class文件必须存在于同一个包下才能相互访问
c.当不同类的class文件存在于不同包下的时候,要相互访问,则使用import,格式:import 包名.文件名称
JAVA基础知识总结:八的更多相关文章
- Java基础知识陷阱(八)
本文发表于本人博客. 这次我来说说关于&跟&&的区别,大家都知道&是位运算符,而&&是逻辑运算符,看下面代码: public static void m ...
- JAVA基础知识(八)值传递与引用传递
值传递:(形式参数类型是基本数据类型):方法调用时,实际参数把它的值传递给对应的形式参数,形式参数只是用实际参数的值初始化自己的存储单元内容,是两个不同的存储单元,所以方法执行中形式参数值的改变不影响 ...
- Java基础知识陷阱系列
Java基础知识陷阱系列 今天抽空把Java基础知识陷阱有关的文章汇总于此,便于大家查看. Java基础知识陷阱(一) Java基础知识陷阱(二) Java基础知识陷阱(三) Java基础知识陷阱(四 ...
- java基础知识文章汇总
将之前的所有关于Java基础知识的随笔,整理成质量较高的十几篇随笔,几乎是好几篇比较零散的随笔合成现在的一篇,自认为还不错. java基础(一) 深入解析基本类型 java基础(二) 自增自减与贪心规 ...
- Java基础知识(壹)
写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...
- java基础知识小总结【转】
java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...
- Java基础知识系列——String
最近晚上没有什么事(主要是不加班有单身),就复习了一下Java的基础知识.我复习Java基础知识主要是依据Java API和The Java™ Tutorials. 今天是第一篇,复习了一下Strin ...
- 学习android学习必备的java基础知识--四大内部类
学习android必备的java基础知识--四大内部类 今天学习android课程,因为我的主专业是JAVA,但是兴趣班却有这其他专业的同学,学习android 需要具备一些java的基础知识,因此就 ...
- JAVA基础知识之网络编程——-网络基础(Java的http get和post请求,多线程下载)
本文主要介绍java.net下为网络编程提供的一些基础包,InetAddress代表一个IP协议对象,可以用来获取IP地址,Host name之类的信息.URL和URLConnect可以用来访问web ...
- java基础知识梳理
java基础知识梳理 1 基本数据类型
随机推荐
- 201521123053《Java程序设计》第十三周学习总结
1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 书面作业 TCP和UDP两者之间的区别: UDP:1)将数据及源和目的封装成数据包中,不需要建立连接 ...
- TCP/IP协议:OSI七层模型、TCP/IP四层模型的对比
1. OSI七层和TCP/IP四层的关系 1.1 OSI引入了服务.接口.协议.分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型. 1.2 OSI先有模型,后有协议,先有标准,后进行 ...
- Qt Creator编译运行成功,但是显示系统找不到指定的文件(比如urlmon.dll动态链接库)
问题: 以前自己写的一个QT界面程序,在win 7 的32位系统上运行没有出现任何问题,但是重装系统之后,同样的程序放到win10 的64位系统下运行会出现警告:onecoreuap\inetcore ...
- 源码安装H2O Http 服务端程序到Ubuntu服务器
首先安装全家桶 apt install -y build-essential zlib1g-dev libpcre3 libpcre3-dev unzip cmake libncurses5-dev ...
- Android 之异步任务(AsyncTask,Handler,Message,looper)
AsyncTask: 3个类型(Params,Progress和Result),4个步骤(onPreExecute(),doInBackground(Params…),onProgressUpdate ...
- WPA/WPA2加密破解
WPA/WPA2无线密码破解这里主要介绍两种方法:穷举PIN码.穷举密码 穷举PIN码(共11000种组合)破解速度快,需要一些条件(路由器支持WPS.QSS功能),路由器信号良好.无论密码多复杂,条 ...
- 如何面试 PHP 工程师?
1,解决问题的能力和掌握的知识,看你招聘的目的而决定其二者的平衡.了解流体力学的确会对通下水道有很大帮助,但流体力学专家未必都会疏通下水道. 2,创造力,一个没有自己作品的程序员不是好程序员.编程跟写 ...
- 第6章 Overlapped I/O, 在你身后变戏法 ---被激发的 Event 对象 -4
以文件 handle 作为激发机制,有一个明显的限制,那就是没办法说出到底是哪一个 overlapped 操作完成了.如果每个文件 handle 只有一个操作等待决定,上述问题其实并不成为问题.但是如 ...
- [Oracle]理解undo表空间
一.回退段介绍 在Oracle数据库中,当某个事物对数据进行修改时,Oracle首先将数据的原始值保存到一个回退段中.一个事物只能将它的回退信息保存到一个回退段中,而多个并行事物可以使用同一个回退段. ...
- FZU 1919 -- K-way Merging sort(记忆化搜索)
题目链接 Problem Description As we all known, merge sort is an O(nlogn) comparison-based sorting algorit ...