J2SE总结(1)基础语法与面向对象

一、基础语法

1、标识符:通俗来讲,可以起名字的地方都叫标识符,都遵守标识符的规则。
(1)、标识符命名规则:
a、标识符由字母,下划线"_", 美元符"$"或数字组成。
b、标识符应以字母,下划线,美元符开头。
c、java标识符大小写敏感,长度无限制。
(2)、java标识符选取应注意"见名知意"不能与java关键字重名。

2、关键字:java中一些赋以特定含义,用作专门用途的字符串称为关键字。
如图:在这里插入图片描述
***所有的java关键字都是小写英文。

3、(1)java常量:Java常量值用字符串表示,区分不同的数据类型 。
*** "常量"这个名词还会用在其他语境中,表示值不可变的变量。
(2)java变量:是程序中最基本的存储单元,七要素包括变量名,变量类型和作用域。
a、java程序中每一个变量都属于特定的数据类型,在使用前必须对其声明。
b、本质上讲,变量其实是内存中的一小块区域,使用变量名来访问这块区域,因此每一个变量使用前必须先申请(声明),然后必须进行赋值才能使用。
c、java变量分为:
在这里插入图片描述
4、java数据类型:
在这里插入图片描述
(1)、Boolean类型:
a、适用于逻辑运算,一般用于程序流程控制。
b、只允许取值true或flash,不可以0或非0的整数替代true或flash。
(2)、基本数据类型的转换:
a、Boolean不可以转换为其他的数据类型。
b、整形,字符型,浮点型的数据在转换时遵循以下原则:
第一:容量小的类型转换为容量大的数据类型,数据类型按容量大小排序为:byte,short,char<int<long<float<double。byte,short,char,之间不会互相转换,他们三者在计算时,首先转 换为int类型
第二:容量大的数据类型转换成容量小的类型时,要加上强制转换符,但可能会造成精度的降低或溢出。
第三:有多中类型的数据混合运算时,系统首先自动的将所有数据转换成容量大的一种数据类型,然后在进行计算,

5、运算符:
(1)算数运算符
在这里插入图片描述
(2)、关系运算符
在这里插入图片描述
(3)、位运算符
在这里插入图片描述
(4)、逻辑运算符
在这里插入图片描述
(5)、赋值运算符
在这里插入图片描述
(6)、三目运算符: x ? y :z
其中 x 为boolean类型,若 x 为true则表达式结果为 y ,若 x 为flase,则表达式结果为 z

6、表达式:表达式是符合一定语法规范的运算符和操作数的序列。
(1)、表达式的运算顺序:
a、按照运算符的优先级从高到低的顺序进行。
b、优先级相同的运算符按照事先约定的结合方向进行。

7、语句:
(1)、条件语句 (2)、循环语句
if for
if…else… while
if…else if… do…while…
if…else if…else if…else…
switch
(3)、break && continue语句
a、break语句用于终止某个语句的执行,用在循环语句条件中,可以强行退出循环。
b、continue语句跳过当前循环,开始下次循环。

8、方法:java方法类似于其他语言的函数,是一段用来完成特定功能的代码片段。

二、面向对象编程

1、对象和类的概念: 通俗的讲,类可以看成一类对象的模板,对象可以看成该类的一个具体实例。
(1)、对象是java程序的核心,在java程序中“万事万物皆对象”。
(2)、对象可以看成静态属性(成员变量)和动态属性(方法)的封装体。
(3)、类是用来创建同一类型的对象的“模板”,在一个类中定义了该类对象所应具有的成员变量以及方法。
***成员变量 = 属性 方法 = 函数

2、构造方法:
(1)、使用new+构造方法,创建一个新的对象。
(2)、构造函数是定义在java类中的一个用来初始化对象的函数。
(3)、构造函数与类重名且没有返回值。
(4)、当没有指定构造函数时,编译器为类自动添加 如:类名(){ }的构造函数。

3、方法的重载:方法的重载是指一个类中可以定义有相同的名字,但参数不同的多个方法,调用时会根据不同的参数表选择对应的方法。

4、this关键字:
(1)、在类的方法定义中使用的this关键字代表使用该方法的引用。
(2)、当必须指出当前使用的方法是谁时要使用this关键字。
(3)、有时使用this可以处理方法中成员变量和参数重名的情况。
(4)、this可以看做一个变量,他的值是当前对象的引用。

5、static关键字
(1)、在类中,用static声明的成员变量为静态成员变量,它为该类的公用变量,在第一次使用时被初始化,对于该类的对象来说,static成员变量只有一份。
(2)、用static声明的方法为静态方法,在调用该方法时,不能将对象的引用传递给它,所以在手static方法中不可以访问非static的成员。
(3)、可以通过对象引用或类名(不需要实例化)访问静态成员。

6、package 和 import 语句:
(1)a、package语句作为java源文件的第一条语句,指明该文件中定义的类所在的包(若缺省该句,则指定为无名包)
b、java编译器把包对应于文件系统的目录管理,package语句用 “.” 来指明包的(目录)层次。例:package com.sxt; 则该文件中的类位于.\com\sxt目录下。
(2)import表示会引入该包下的所有的当文件中使用到的类。例:import com.sxt.Myclass; import java.util.*; //引入java包中所有类。

7、访问控制权限:
在这里插入图片描述

8、类的继承:
(1)、java中使用extends关键字实现类的继承机制。
(2)、通过继承,子类拥有了基类的所有成员。
(3)、java只支持单继承,不允许多继承。一个子类只能有一个基类,一个基类可以派生出多个子类。

9、方法的重写:
(1)、在子类中可以根据需要对从基类中继承来的方法进行重写。
(2)、重写方法必须和被重写方法具有相同的方法名称,参数列表和返回值。
(3)、重写方法不能使用比被重写方法更严格的访问权限。

10、继承中的构造方法:
(1)、子类的构造过程必须调用其基类的构造方法。
(2)、子类可以在自己的构造方法中使用super关键字,调用基类的构造方法,使用this关键字调用本类的另外的构造方法。(如果调用super,必须写在子类构造方法的第一行)
(3)、如果子类的构造方法中没有显示地调用基类构造方法,则系统默认调用基类无参数的构造方法。
(4)、如果子类中既没有显示调用基类构造方法,而基类有没有无参的构造方法则编译出错。

11、object类:
(1)、object类是所有java类的根基类。
(2)、如果在类的声明中未使用extends关键字指明其基类,则默认基类为object类。例:
public class person {…} 等价于 public class person extends object {…}

12、to String方法:
(1)、object类中定义有public String toString()方法,其返回值是String类型,描述当前对象的有关信息。
(2)、在进行String于其它类型数据是连接操作时(如System.out.println(“info”+person)),将自动调用该对象类的toString()方法。
(3)、可以根据需要在用户自定义类型中重写toString()方法。

13、equals方法:
(1)、public boolean equals(Object obj)方法 提供对象是否相等的逻辑。
(2)、Object的equals方法 定义为:x.equals(y)当x和y是同一个对象的应用时返回true否则返回flase
(3)、J2SDK提供的一些类,如String,Date等,重写了Object的equals方法,调用这些类的equals方法,x.equals(y)当x和y所引用的对象是同一类对象且属性内容相等时(并不一定是相同对象),返回true否则返回false。
(4)、可以根据需要在用户自定义类型中重写equals方法。

14、对象转型(casting):
(1)、一个基类的引用类型变量可以“指向”其子类的对象。
(2)、一个基类的引用不可以访问其子类对象新增加的成员(属性和方法)。
(3)、可以使用引用变量instanceof类名,来判断引用型变量所“指向”的对象是否属于该类或该类的子类。
(4)、子类的对象可以当做基类的对象来使用称作向上转型(upcasting),反之成为向下转型(downcasting)。

15、多态: 指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)
(1)、实现多态的技术称为:动态绑定(dynamic binding),是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。
(2)、多态的作用:消除类型之间的耦合关系。
(3)、多态存在的三个必要条件
a、要有继承;
b、要有重写;
c、父类引用指向子类对象。

16、抽象类:
(1)、用abstract关键字来修饰一个类时,这个类叫抽象类。用abstract类修饰一个方法时,该方法叫做抽象方法。
(2)、含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写。
(3)、抽象类不能被实例化。
(4)、抽象方法只需声明,而不需要实现。

17、Final关键字:
(1)、final的变量的值不能够被改变。
(2)、final的方法不能够被重写。
(3)、final的类不能够被继承

18、接口:
(1)、接口(interface)是抽象方法和常量值的定义的集合。
(2)、从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。
(3)、多个无关的类可以实现同一个接口。
(4)、一个类可以实现多个无关的接口。
(5)、与继承关系类似,接口与实现类之间存在多态性。
(6)、接口可多重实现。
(7)、接口中声明的属性默认为public static final的,也只能是public static final的。
(8)、接口中只能定义抽象方法,而且这些方法默认为public的,也只能是public的。
(9)、接口可以继承其他的接口,并添加新的属性和抽象方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值