Java基础入门总结3-面向对象(新手入门总结)

一、软件技术方面

(一)本周学习内容

数组** :**

一维数组:用来储存同一类型的数据

注意:object 数组可以储存任意类型的数组

二维数组:是以一维数组元素

动态初始化:

数据类型[] [] 变量名 = new 数据类型【长度1】【长度2】

静态初始化:

数据类型[] [] 变量名 ={{},{}}

字符串

格式:

String str = new String(""字符串内容);

String str = “内容”;

==、equals、instanceof三者的不同:

1.==: 基本数据类型比较的是数值,引用数据类型比较地址值

2.equala:本意是比较地址值,在字符串比较内容

3.instanceof : 比较运算符 (包含)

字符串的一些常用方法:

*获取方法:

*1. int length() 获取字符串长度

*2.char charAt(index) 获取特定位置的字符

*3. int indexof(string str) 获取特定字符的位置

*3.lastInsexof(string str) 获取最后一个字符的位置

  • 判断方法:

*1.booLean endswith(String str)是否以指定字符结束

*2.boolean isEmpty()是否长度为0 如: null V1.6

*3.boolean contains(CharSequences)是否包含指定序列应用:搜索booLean equals(object anobject)是否相等

*4.boolean,equalsIgnoreCase(String anotherstring)忽略大小写是否相等

  • 转换方法:

*1.char[] tochararray() 将字符串转换为字符数组

*2.byte[] getBytes() 将字符串转换为字节数组

  • 其他方法:

*1.tring replace(char oLdthar, char newChar)替换

*2.Stringl] split(string regex)切割

*3.String substring(int beginindex)

*4.String substring(int beginIndex, int endIndex)截取字串

  • String toUppercase()转大写

  • String toLowercase()转小写String trim()去除空格

注意:String是不可变的字符串序列,

引申:

字符串是常量:它们的值在创建之后不能更改

StringBuffex 与StringBuilder.的相同处与不同处:

  • 相同点:

  • 1.两个类都是字符串缓冲类√

  • 2.两个类的方法都是一致的

  • 不同点:

  • 1.StringBuffe是线程安全的操作效率低,

    1. StringBuilder是线程非安全的操作效率高。
    1. StringBuffer,是jdk1.0出现的,StringBuilder是jdk1.5的时候出现的。
  • 推荐使用:StringBuilder,因为操作效率高。

面向对象

理解:

面向对象:也就是一切皆对象。

对象:存在于现实生活中,且唯一。

对象------》现实中 类--------》java

类:

类:具有相同特性,相同行为的一类事物,它是抽象的,不存在的

类就是相同行为和相同属性得抽象。

相同属性-------》全局变量

相同行为-------》方法

格式:

创建对象 ===== new

类 变量名 = new 类();

调用属性:对象.属性;

调用方法:对象.方法();

局部变量与全局变量的区别:

  • 位置不同:

  • 1.全局变量在类的内部,方法外部

  • 2.局部变量在方法内部

  • 生命周期不同:

  • 1.全局变量是伴随着类生而生,死而死

  • 2.局部变量是只在自己作用域中有效

  • 使用方式不同:

  • 1.全局变量不初始化也可以使用因为有默认值

  • 2.局部变量必须初始化才能使用

  • 存储位置不同:

  • 1.局部变量在栈中

  • 2.全局变量在堆中被各自对象所维护

包:

package位于文件的首行

在Java中,包主要有以下用途:

1.包允许将类组合成较小的单元

2.有助于避免命名冲突

3.包允许在更广的范围内保护类、数据和方法

包名的命名规范:

1.通常都是用小写英文字母

2.一般为公司网址的反向排列,

如:com.company.region.package

包可以是类、接口和子包的集合

面向对象三大特征:

封装:

含义:控制类,属性,方法的可见范围

目的:

1.隐藏类的实现细节一

2.让使用者只能通过事先定制好的方法来访问数据

3.可方便地加入控制逻辑,限制对属性的不合理操作

4.便于修改,增强代码的可维护性

5.不变(What To Do)与变(How To Do)的分开

实现方法:

1.使用范围修饰符藏内部状态

  1. 对象间的交互都通过方法调用进行

修饰符:

Public(公开的) 本类 本包 ,子类 ,其他

protected(受保护)本类 ,本包,子类

default(默认) 本类 ,本包

private(私有) 本类

private私有化之后必须提供get/set方法;

关键字:

static 静态:修饰属性,常量,方法

静态变量调用得方式:

对象.属性; 类名.属性;

静态方法调用得方式

对象.方法();类名.方法();

需要理解:

静态的成员先存在于内存中。静态的不能直接访问非静态成员,(用对象间接访问),而非静态能直接访问静态和非静态成员

this 关键字

  • java就近原则:离谁近调用谁。

  • this代表调用者:

1.当全局和局部变量重名时,用this调用全局变量

2,.this代表调用者对象空间;

3.构造方法使用this区分剧部和全局

4.在get/set中使用;

5.构造方法重载,在一个构造方法中调用构造方法 必须位于构造方法的第一句

this跟static不能共存:

原因

  • 1.this代表调用者,由对象调用,static由类名调用

  • 2.一个类的static方法会先于类的任何一个对象之前初始化,而this是当前对象。所以static初始化之后,this才会被创建。 显然static方法是没有this的。

*3.静态变量不能直接访问非静态。

方法重载:

1.方法名相同

2.参数类型,个数不同

  • 构造方法:

  • 1.方法名跟类名相同

  • 2.没有返回值

  • 3.在创建对象使调用

  • 4.在类中如果没有写任何的构造方法,默认自动添加为无参的构造方法

值传递:基本数据类型是值传递,只考虑作用范围

地址值:引用数据类型,一般是地址值传递

封装:

关键字:super

  • 1.父类空间的引用

  • 2.当子父类出现同名成员时,使用super调用父类成员

  • 3.使用super()调用父类的构造方法

  • 4.super()必须位于构造方法第一行。

this跟super方法不能共存:

是因为this和super都要定义在第一行,所以只能有一个;

  • 注意事项:

  • 1.包含关系

  • 2.符合道德伦理

  • 3.子类可以继承父类静态及非j静态成员,除了父类私有化的

  • 4.构造方法不能被继承,但被子类默认调用(子类对象在创建对象时会默认调用父类的构造方法)

  • 5.只能直接单继承

  • 6.object是所有类的父类。

多态

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值