java 类与对象
一、类、变量和方法修饰符
关于transient的进一步完整解释
可以查看博客关键字transient是干啥的
关于volatile的进一步完整解释
可以查看博客Java volatile关键字最全总结:原理剖析与实例讲解(简单易懂)
对于native关键字的解释相关博客
java native关键字
对于synchronized关键字的解释相关博客
Java中Synchronized的用法(简单介绍)
二、static关键字
static在变量或方法之前,表明他们是属于类的,称为类方法(静态方法)或类变量(静态变量)。若无static修饰,则是实例方法和实例变量,即属于某一对象。
静态变量经常用来统计有几个变量
访问类变量或者类方法时,无需先实例化一个对象出来,直接通过类名访问就可以,即类名.静态变量 和 类名.静态方法
静态方法只能调用静态方法和静态变量
三、构造方法(跟c++基本没区别)
构造方法是类的一种特殊方法,它的特殊性主要体现在如下几个方面
1、构造方法的方法名和类名相同
2、构造方法没有返回类型,但可以有参数,并且可以重载。
3、构造方法的主要作用是完成对象的初始化工作。
4、构造方法不能像一般方法那样使用 对象.方法名()显式地直接调用,应该用new关键字调用构造方法为新对象初始化。
如果一个类中未定义构造方法,则编译时系统提供一个缺省的无参的构造方法,其方法体为空。
public 类名() {
}
自定义类中,如果不写构造方法,java系统会默认添加一个无参的构造方法。如果写了一个有参的构造方法,最好还要写个无参构造方法。
四、this 关键词
this表示当前对象的引用
this的作用:
1、通过this调用被屏蔽的成员变量
2、如果有一个类带有几个构造函数,如果想复制其中一个构造函数的某方面效果到另一个构造函数中。可以通过使用this()达到这个目的。注意:this()只能用在构造函数中,且必须是第一行语句。
this引用仅能出现类中的方法体中
五、set方法和get方法
java中 当定义了一个私有的成员变量的时候,如果需要访问或者获取这个变量的时候,就可以编写set或者get方法去调用。
set()是给属性赋值的,get()是取得属性值的 被设置和存取的属性一般是私有 主要是起到封装的作用,不允许直接对属性操作
set()和get()不一定同时存在,看程序需求
六、包
包的导入:利用import语句导入需要的类
常用的包简介
java.lang.*
提供利用 Java 编程语言进行程序设计的基础类。最重要的类是 Object(它是类层次结构的根)和 Class(它的实例表示正在运行的应用程序中的类)由系统自动导入。
java.util.*
包含集合框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组、日期Date类、堆栈Stack类、向量Vector类等)。集合类、时间处理模式、日期时间工具等各类常用工具包
java.io.*
Java的核心库java.io提供了全面的IO接口。包括:文件读写、标准设备输出等。Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。
java.net.*
并非所有系统都支持 IPv6 协议,而当 Java 网络连接堆栈尝试检测它并在可用时透明地使用它时,还可以利用系统属性禁用它。在 IPv6 不可用或被显式禁用的情况下,Inet6Address 对大多数网络连接操作都不再是有效参数。虽然可以保证在查找主机名时 java.net.InetAddress.getByName 之类的方法不返回 Inet6Address,但仍然可能通过传递字面值来创建此类对象。在此情况下,大多数方法在使用 Inet6Address 调用时都将抛出异常。
java.sql.*
提供使用 JavaTM 编程语言访问并处理存储在数据源(通常是一个关系数据库)中的数据的 API。此 API 包括一个框架,凭借此框架可以动态地安装不同驱动程序来访问不同数据源
后话
如果文章有什么不对的地方,欢迎大家指正,谢谢大家阅读我的博客