首页 > 编程语言 >Java基础,final关键字,权限修饰符,内部类,抽象类和接口作为方法的参数和返回值,System类,Object类,Date类,DateFormate

Java基础,final关键字,权限修饰符,内部类,抽象类和接口作为方法的参数和返回值,System类,Object类,Date类,DateFormate

时间:2024-07-13 23:26:17浏览次数:15  
标签:修饰符 Java 内部 对象 Object 接口 修饰 抽象类 方法

一.final关键字

1.final:不可以改变,可以用来修饰类,方法和变量

  • 类:被修饰的类,不能被继承
  • 方法:被修饰的方法,不能被重写
  • 变量:被修饰的变量,不能被重新赋值

2.格式:

        修饰类:final class 类名{}

        修饰方法:public final 返回值类型 方法名(){}

        修饰变量:final 数据类型 变量名=赋值,只能赋值一次

二.权限修饰符

1.概述

在java中提供了四种访问权限,使用不同的访问权限修饰符修饰时,被修饰的内容会有不同的访问权限

  • public:公共的
  • protected:受保护的
  • default:默认的
  • private:私有的

2.不同权限的访问能力

可见,public具有最大权限,private具有最小权限

建议使用规则

  • 成员变量用private,隐藏细节
  • 构造方法用public,方便创建对象
  • 成员方法用public,方便调用方法

三.内部类

格式:class 外部类{

        class 内部类{}

        }

创建内部类对象格式:外部类.内部类 对象名=new.外部类().new.内部类()

成员变量访问特点

        内部类可以直接访问外部类的成员变量和成员方法,包括私有

        外部类访问内部类成员,必须先创建内部类对象

局部内部类:

        类定义在方法内部,用得很少

匿名内部类:

        是内部类的简化写法,本质是一个带有具体实现的父类或父接口的匿名子类对象

格式:new 父类名或接口名(){

        //实现方法重写

}

四.抽象类和接口作为方法的参数和返回值

抽象类:抽象类作为参数,实际上需要传递的是抽象类的子对象,抽象类作为返回值,实际上返回值是抽象类的子对象

接口:接口作为参数,实际传递的参数是该接口的子对象,接口作为返回值,实际上返回的是该接口的子对象

五.System类

具体的通过API查询,这次主要将currentTimeMillis方法

返回当前时间到1970年1月一号的差值的毫秒数

作用:

  • 可以用来生成文件名
  • 统计程序执行的时间

六.Object类

        类object是类层次结构的根,每个类都有object作为超类。所有对象(包括数组)都使用了这个类的方法,主要的方法想要详细了解可用API

1.toString方法

返回的是对象的字符串表示

一般都需要重写该方法

2.equals方法

指示其他对象和当前对象是否相等

默认进行对象地址值的比较

通常也需要重写来比较对象内容

类似于:

注意:无论何时覆盖此方法,通常也需要覆盖hashCode方法,以便维护hashCode方法的一般合同,该方法规定相等的对象必须具有相等的哈希码

六.Date类

        表示特定的瞬间,精确到毫秒

getTime方法当前到1970年1月1号的时间,精确到毫秒

setTime方法1970年1月1号到输入的时间

七.DateFormat

DateFormat的子类SimpleDateFormat

构造方法

SimpleDateFormate()

SimpleDateFormate(String pattern)

转换方法:

String--Date:parse(String source)

Date--String :format(Date date)

格式规则:

示例:输入一个人的出生日期,计算出生了多少天

标签:修饰符,Java,内部,对象,Object,接口,修饰,抽象类,方法
From: https://blog.csdn.net/qq_69941834/article/details/140397248

相关文章

  • Java第二周学习总结
    深入Java基础语法本周,我进一步理解Java中的基本数据类型和引用数据类型。学会了如何根据需求选择合适的数据类型。掌握了算术运算符、关系运算符、逻辑运算符以及位运算符的使用,能够编写简单的表达式进行计算和条件判断。并深入学习了if-else、switch-case、for、while、do-whi......
  • java数组之线性查找、二分法查找
    一、线性查找        思想:如果想在一个数组中查找是否有某个元素,最容易想到的办法就是遍历数组,将数组中元素与想要查找的元素逐个对比,如果相等表示找到了,如果不等,则表示没找到。这就是线性查找的思想。案例说明定义数组:int[]arr1=newint[]{34,54,3,2,65,7,34,5,......
  • java数组的扩容与缩容
    一、java扩容缩容的说明    我们前面学过,创建java数组会在内存中开辟一块连续的空间,该空间固定不允许扩大和缩小。那么一个java数组要怎么实现扩容和缩容操作呢?    也许你会想到。再创建一个大容量的数组,将旧数组中的元素拷贝到新数组中,最后将新数组的地址值......
  • java数组之冒泡排序、快速排序
    一、排序算法概述1.算法定义排序:假设含有n个记录的序列为{R1,R2,...,Rn},其相应的关键字序列为{K1,K2,...,Kn}。将这些记录重新排序为{Ri1,Ri2,...,Rin},使得相应的关键字值满足条Ki1<=Ki2<=...<=Kin,这样的一种操作称为排序。通常来说,排序的目的是快速查找。2.衡量排序算......
  • 使用Java开发一个简易健康计算器
            开发一个简单的健康计算器应用程序,它可以接收用户的输入(如年龄、性别、身高、体重),并计算出用户的BMI(身体质量指数)和基础代谢率(BMR)。    一、BMI(BodyMassIndex,身体质量指数)是用来评估体重是否适宜的一个常用指标。它通过体重(以千克为单位)除以身......
  • IO输入输出流例子:Java对象输出json文本:
    读取文件:原始字节输入流(低级):publicclassCharCacheIOReader{publicstaticvoidmain(String[]args){try(//原始字节输入流(低级)Readerfr=newFileReader("src\\OutputStream.txt");//创建一个字......
  • 每周JAVA学习汇总
    本周我自学了Java的输入与输出包括了:使用Scanner类进行输入导入Scanner类:importjava.util.Scanner;创建Scanner对象:Scannerscanner=newScanner(System.in);读取不同类型的数据:读取字符串:StringinputString=scanner.nextLine();读取整数:intinputInt=scanner.ne......
  • 自学Java第二周
    本周学习一、Java能干些什么?1.共三个版本:JavaSE、JavaEE、JavaMEJavaSE:Java语言的(标准版),用于桌面应用开发,是其他两个版本的基础。JavaME:Java语言的(小型版),用于嵌入式电子设备或者小型移动设备。JavaEE:Java语言的(企业版),用于Web方向的网站开发(浏览器和服务器)。在这......
  • Java学习第二周
    标识符是用来给变量,类,方法以及包进行命名的。标识符的命名规则1.必须以字母、下划线“”、美元符“$”开头。2.其他部分可以是字母、下划线“”、美元符“$”和数字的人员组合·。3.大小写敏感,且长度无限制。4.不可以是Java的关键字。标识符使用规范表示类名的标识符:每个单......
  • java 基本语法1
    1.安装idea,java编译器,编译器会自动对代码进行编译,然后运行得到结果.idea分为社区版(免费),企业版(收费),https://www.jetbrains.com/zh-cn/idea/download/?section=windows从官网下载对应版本安装即可.2.java的数据类型有四类八项.整数,小数,字符,布尔.其中整数:intlongbyt......