java基础知识

本文介绍了Java编程中的基本概念,包括final修饰的常量、枚举类型及其用法,强制类型转换规则,String类的方法,Scanner类用于接收输入的方式,循环结构如do-while和for循环,数组的声明和遍历,以及类和对象的创建。此外,还讨论了封装、继承、抽象类和接口的概念,以及Object类的重要性,反射机制的作用和接口的实现方式。
摘要由CSDN通过智能技术生成

final:final修饰的变量称为常量,表示这个变量只能被赋值一次,一旦被赋值之后,就不能再更改了。
常量名字全大写。

枚举: enum Size{SMALL,MEDIUM,LARGE,EXTRA_LARGE};
//s码 m码 l码 x码
Size size=Size.MEDIUM;
Size 类型的变量只能存储这个类型声明中给定的某个枚举值,或者特殊值null,null表示这个变量
没有设置任何值。

强制类型转换:例如一个double类型的变量a,想把变量a的值放在int类型b中
int b=(int)a;
双等号:比较基本类型的值,比较引用类型的地址
equals:比较字符串的内容,不能比较基本类型。

String:常用方法:
.length:返回字符串长度
StringBulder:.reverse();字符串反转
.append():当每次需要添加一部分内容时,就调用append()方法

Scanner:
//创建Scanner对象来接收输入
Scanner in=new Scanner(System.in);
//定义变量接收 输入的值的数据类型必须和定义的变量数据类型相同
int a=in.nextInt();

循环:
do()while{};这种循环语句先执行语句,然后再执行循环条件;
for(){}:先对计数器初始化,然后判断条件,条件成立执行循环体,然后++,加加之后判断条件,以此往复;
continue:跳过本次循环,继续执行下一次循环
break:结束循环

数组:
声明数组:int[] arr=new int[]{1,2,3,4}
遍历数组:for 或者foreach也可以调用Arrays的toString方法直接输出数组中的元素
第二种方式声明数组:int[] arr={1,2,3,}
这种语法不需要new,也不需要指定长度,最后一个值后面允许有逗号,如果要为数组不断增加值,这会很方便
数组的拷贝:先声明第一个数组,然后声明第二个数组接收Arrays.copyOf(第一个数组,第一个数组的长度);

类:类是构造对象的模板,由类构造对象的过程称为创建类的实例。
对象:要想使用对象,首先必须构造对象,并指定其初始状态。然后对对象应用方法。

在java程序设计语言中,要使用构造器构造新实例。构造器是一种特殊的方法,用来构造并初始化对象。
期类:LocalDate
LocalDate localDate=LocalDate.of(年,月,日);
可以通过get的方法获取当前对象的年月日,这3个值只能在创建的时候通过调用有参构造赋值,不可以set赋值
plusDays方法:更改天数
创建一个新的LocalDate对象用来接收旧的对象1000天之后的日期
LocalDate localDate1=localDate.plusDays(1000);

封装:封装是处理对象的一个重要概念,从形式上看,封装就是将属性和行为组合在一个包中,并对对象的使用者隐藏具体的实现方式,对象中的数据称为实例字段,操作数据的过程称为方法。作为一个类的实例,特定对象有一组特定的实例字段值。这些这些值得集合就是这个对象后的当前状态。无论何时,只要在对象上调用一个方法,他的状态就有可能发生改变在实现一个类时,由于公共数据非常危险,所以应该将所有的数据字段都设置成私有的
在java中,要实现私有方法,只需将关键字public改为private即可

final:可以将实例字段定义为final。之洋的字段必须在构造对象是初始化。也就是说,必须确保在
每一个构造器执行之后,这个字段的值已经设置,并且以后不能再修改这个字段。
static:比如售票员的共享变量:总票数,每次创建售票员对象,进行卖票,都更新卖票之后的票数。
重载:方法名相同,参数个数不同,参数类型不同,参数名不同

类设计技巧:
1.一定要保证数据私有
2.一定要对数据进行初始化
3.不要再类中使用过多的基本类型
4.不是所有的字段都需要单独的字段访问器和字段更改器具(get和set方法)
5.分解有过多职责的类
6.类名和方法名要能够体现他们的职责
7.优先使用不可变的类

继承:
extends:关键字extends表明正在构造的新类派生与一个已存在的类。这个已存在的类称为超类、基类
或者父类;新类称为子类、派生类或孩子类
强制类型转换:double x=3.405;
int a=(int)x;
进行强制类型转换的唯一原因是:要在暂时忽视对象的实际类型之后使用对象的全部功能。

抽象类:
抽象方法充当着占位方法的角色,他们在子类中具体实现。扩展抽象类可以有两种选择。
一种是在子类中保留抽象类中的部分或所有抽象方法仍未定义,这样就必须将子类也标记为抽象类;
另一种做法是定义全部方法,这样一来,子类就不是抽象的了。
抽象类不能实例化。也就是说没如果将一个类声明为abstract,就不能创建这个类的对象。
protected:受保护的
在java中,保护字段只能由同一个包中的类访问。
受保护的方法更具有实际意义。如果需要限制某个方法的使用,就可以将它声明为protected。
这表明子类得到了信任,可以正确的使用这个方法,而其他类不行。

Object:所有类的超类
Object类是Java中所有类的始祖,在Java中每个类都扩展了Object。但是并不需要继承
由于在java中每个类都是由object类扩展而来的,所以,熟悉这个类提供的所有服务十分重要。
可以使用object类型的变量引用(接收)任意类型的对象;
在object中还有一个重要的方法,就是toString放v发,它会返回表示对象值得一个字符串.

反射:
反射库提供了一个丰富且精巧得工具集,可以编写能够动态操纵java代码得程序,使用反射,
java可以支持用户界面生成器、对象关系映射器以及很多其他需要动态查询类能力的开发工具。
能够分析类能力的程序成为反射。反射机制的功能极其强大,反射机制可以用来:
1.在运行时分析类的能量
2.在运行时检查对象,例如,编写一个适用于所有类的toString方法
3.实现泛型数组操作代码
4.利用Method对象

接口:interface
接口用来描述类应该做什么,而不指定它们该如何做。一个类可以实现一个或多个接口
接口中的所有方法都自动是public修饰的,所有声明方法是,可以不写public
接口中的所有变量默认都是public static final类型的,可以直接使用int a=0这种方式定义
实现:implements
为了让类实现一个接口,通常需要完成两个步骤
1:将类声明为实现给定的接口。
2:对接口中的所有方法提供定义

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值