java核心

1、对象:(东西)

是客观存在的具体物体、具有明确的属性和行为。(属性——变量/行为——方法)//main方法

注:oop面向对象的编程

2、类(物以类聚)

1)是具有相同属性和行为的一组对象的集合。(类class)

2)类是对象的区别:类是泛型概念(即:模型) 对象是具体一物体

3)代码抽象的原则:

属性:(特征、特点)——变量

行为:(动作、方法)——方法

语法:访问修饰符 class 类名{

//成员变量//成员方法

}

方法必须写的四个特征:

返回值类型 、方法名、参数列表、方法体

public void main(String[] args){

//方法体

}

注:命名规范对类变量方法来说是同一套规则、其中类名必须大写开头 、开头变量方法名

必须小写开头、常量必须大写

3、构造器

1)目的:为了简化创建对象时的代码,所用的这个代码块、

2)分类:隐式构造器书写类的代码时 即使不写构造器但编译器依然会加上。

显示构造器书写代码时写上一个构造器(加上类特征相关变量)这样以后再用new创

建对象时书写起来就代码行数缩减了

3)语法:public 与类名一致的构造器名(参数列表){

//代码块:完成给类中的变量的赋值工作

}

注:构造器虽然和方法很像但是区别:

1、不需要标明返回值类型 2、名字必须与类一致 3、如果定义了显示构造器还必须把

隐式构造器写上否则隐式构造器就会被覆盖

4、面向对象编程语言的3个特点

1>封装

是指将某事物的属性和行为包装到对象中,这个对象只对外公布需要公开的属性

和行为,而这个公布也是可以有选择性的公布给其它对象。在java中能使用

private、protected、public三种修饰符或不用(即默认defalut)对外部对象访问

该对象的属性和行为进行限制。

注:封装:把复杂的内部结构装在一个壳子内,使用时不需要在考虑其结构,直接调用。

2>继承

是子对象可以继承父对象的属性和行为,亦即父对象拥有的属性和行为,其子对象也就拥有

了这些属性和行为。这非常类似大自然中的物种遗传。

3>多态性

是指允许不同类的对象对同一消息作出响应。比如同样的加法,把两个时间加在一起和把两

个整数加在一起肯定完全不同。又比如,同样的选择编辑-粘贴操作,在字处理程序和绘图

程序中有不同的效果。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽

象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。

5、包(文件夹)

1)作用:方便分类,可以存放同名文件。

2)语法:打包 package 包名;

cmd密令: Javac 文件夹.java -d

使用包 import 包名;

注:包的命名规则和变量相同——如果想要包中的变量、方法、构造器被包外的其他类调用到、就必须加上public(公共的)

1、继承:(儿子继承父亲的特征)

语法 class 类名 extend 父类名{

例:DragenFather df = new DragenFather();

}

作用:简化代码 减少重复写代码

注:默认情况下成员变量/方法能被子类继承,但是构造器是不能被继承的。但 子类的对象可以传给父类

2、super和this

1)super调用父类中的变量/方法/构造器

语法:调用变量/方法,super.变量名/方法名() 调用构造器 super(参数列表)

2)this 调用本类中的变量/方法/构造器

语法:this.变量名/方法(参数列表) 调用变量/方法 this(参数列表) 调用构造器

区别:super在子类中调用父类/this调用本类

3、多态:(龙生九子各有不同)

表现就是子类中覆盖父类中的方法

4、方法的覆盖和重载

1)覆盖:子类中编写了和父类中声明方法一样的方法,就会产生覆盖效果

注:声明一样的方法是指修饰符的/返回值/方法名/参数列表一样。

2)重载:同一个类中编写了同名不同参

注:不同参指参数的个数/类型/顺序

区别:覆盖存在于子类和父类中 重载在于同一个类中

5、接口:定义了统一的规范,可以对接到不同类上。

注:统一的规范是指 方法。 接口不能实例化

语法声明接口

1)public interface 接口名{

//定义成员变量、定义成员方法 注意:方法不需要写方法体(不写实现)

}

2)实现接口

public class 类名 implements 接口名{

//实现接口里定义的方法(即 覆盖了接口中没有的方法体的)

}

注:一个类可以实现多个接口,像U盘可以插任意接口一样

即:上面接口的地方,还可以写多个接口、接口名1、接口名2、........

实现类的对象也可以传给接口类。

所以得成员方法:默认都是 public abstract 的(公共的/抽象的)

6、抽象类;如果想在接口中书写方法体是不允许的、要是有这种需要就要写成抽象类来弥补接口的不足。

语法:public abstract class 类名{

//可以写抽象方法(没有方法体)也可写普通方法

有方法体

}

区别:

1)接口:一个类可以实现多个接口

其中的成员方法都是没有方法体的(即 public abstract)

所以得成员方法:默认都会转成常量

2)抽象类: 一个类只能继承一个抽象类

其中的成员方法,按照你的功能需要定义成有方法体或没有方法体的(即 public abstract)

7、方法的修饰符:

1)abstract :抽象的 即:用在方法上可以不写方法体,交给其他人去实现。

2)final:最终的 即: 用在方法上 该方法不能被子类继承过去。覆盖

3)static : 静态的 即:程序被执行时现只需static的方法 而且只会被执行一次以节省内存。

即:用在成员变量前该量就是常量

用在类声明前面,被final修饰的类不能够被继承

8、访问修饰符:可以加在成员变量/成员方法/构造器前面/控制被调用的范围

1)public:公有的

2)protected:被子类使用的

3)default:默认的

4)private:私有的

9、常量的标准方法:

//静态的 最终的(值不能改变的)

public static final 数据类型 常量名=值;

例: public static fianl double PI=3.1415926;

注:常量名必须大写

优点:static的量和方法不需要实例化(new)就可以调用

10、Java基础包(最常用的包)

Java.lang 里面存放着Java常用的一些基础类:如string System

注:该包是JDK自动默认导入的,不需要我们去写。

Java.io 输入输出相关的类

Java.until 里面存放着很多工具类:扫描仪、日历类、处理时间类、生成随机数类。

11、包装类:

1)作用:常用来把键盘接受的字符串转换成基本数据类型(完成数据类型的转换 String类

型)

2)包装类与基本数据类型的关系

基本数据类型————包装数据类型

byte(字节) Byte

char(字符) Character

short(短整型) Short

int(整型) Integer

long(长整型) Long

float(浮点型) Float

double(双精度) Double

boolean(布尔型)Boolean

3)把String字符串转换成8种基本数据类型

包装类:parse 基本数据类型(字符串)

12、Object类:对象类

注:它是所有类的父类。

方法equals(),比较对象的值是否相等。应用数据类型/类类型产生对象

toString()、把对象转换成字符串

13、String类 字符串类,从内存原理角度讲字串值不能原始内存位置上修改,修改其值时/赋新值时,都要在新位置上开辟个空间再去存储。

(String类的值是不能修改的)

String str="Hellow world";

String str=new String("hellow world");

方法:equals() 比较字串的值是否相等

注:==只能用来比较基本数据类型 equals() 才能比较String数据类型值得

字串.length() 获取字符串的长度

字串.toLowerCase() 转换成小写

字串.toUpperCase() 转换成大写

字串.split('分隔符') 把字串按照指定字符进行分割返回的值是字串数组

字串.subString (开始下标 截取长度) 截取字符串

字串.lastIndexof(查找字符串) 从字符串中查找()里的字符串最后出现的下标。

字串.charAt(要查找的字符串所在的下标) 返回指定下标位置的‘字符’

字串.indexOf("要查找的字串") 从字符中查字符串()中的第一次出现位置

字串.replace (旧字符串,新字符) 替换字符

14、StringBuffer 类:字符串缓冲区,从内存原理角度讲能在原始的内存位置上可以修改值

注:在做内容海量 修改或添加时 StringBuffer 速度快、但String 速度慢

方法: sb.append("字符串") 向原有信息上添加新的字符串

15、StringBuilder 类:使用的语法与StringBuffer一样

区别:StringBuilder 效率更高(速度更快)

StringBuffer 线程更安全的(程序同时在控制不同机器人时,信息不会出现错识或者

乱码情况)

16、Math 类 处理数学问题的类 它里面所提供的方法都是静态的方法

方法 Math.round(double) 值 四舍五入

Math.random() 产生随机数

注:调用一个类的静态方法的语法是 类名.方法名(参数)

17、Runtime 类 : 用它可以运行控制台命令

方法:Runtime.getRuntime() 静态的方法.可以得到一个运行时Runtime对象

r.exec("控制台的命令") 非静态的方法,运行一条控制台的命令。

System类可以获得系统的一些参数信息

方法:都是静态的方法 直接调用 out.println();

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值