1.对象数组通常是以引用数据类型为主的定义,例如lei
1.对象数组通常是以引用数据类型为主的定义,例如lei
1.数组求最大值和最小值,先假设其中一个值为最大或最小值,然后使用for循环进行比较。
Java对于数组的支持:
1.数组排序:java.util.Arrays.sort(数组名称);(排序默认为升序)
2.进行数组拷贝:System.arraycopy(源数组名称,源数组开始点,源数组结束点,目标数组名称,目标数组开始点,拷贝长度);
1.二维数组的动态初始化:数据类型 对象数组 [][] = new 数据类型[行个数][列个数];
2.二维数组的静态初始化: 数据类型 对象数组 [][] = new 数据类型[][] {{值,值。。}};
1.数组的静态初始化,即数组在创建的同时进行赋值:完整格式:
数据类型 数组名称 []=new 数据类型[] {};
1.简单Java类开发的一些原则:
(1)类的定义应该有意义,能够明确描述某一类事物。
(2)成员变量必须用private关键字封装,所有属性必须提供setter和getter方法。
(3)类中可以定义多个构造方法,但必须有一个无参数的构造方法。
(4)类中的方法不可以出现system.out...,输出交给调用处实现。
(5)类中应该提供有一个返回类完整信息的方法,这个方法名称public String getInfo().{
return .........
}
1.构造方法的规则:方法名称必须与类名称相同,且该方法没有返回值类型声明。每个类中必须有一个或多个构造方法。
2.(1)属性是在对象开辟堆内存的时候就开辟的空间
(2)构造方法是在使用关键字new的时候被调用并且只能调用一次。
(3)普通方法在对象已经实例化完成后通过规则进行调用的,可调用多次。
3.(1)构造方法的调用和对象内存分配几乎同步完成。同时,构造方法可以对属性进行初始化。
(2)通过构造方法设置内容,可以避免重复调用setter方法。
注:在实际开发中,setter方法除了可以设置内容,还可以用来修改内容。
1.如果要进行private的私有访问,按照Java的设计原则,我们可以使用setter、getter方法:
setter方法:主要用于进行属性内容的设置:
- private String name:public void setName(String n);
getter方法:主要用于属性内容的取得:
- private String name:public String getName();
2。类的设计原则:类中的所有属性必须使用private封装,再定义setter或者getter方法访问其封装的属性。
1.一块堆内存可以被多个栈内存所指向。
2.所谓的垃圾空间指的就是没有任何栈内存所指向的堆内存。所有的垃圾空间将会被垃圾收集器回收以释放内存。
1.堆内存(heap):存放new出来的东西 。
2.栈(stack):存放局部变量的地方。
3.data segment:静态变量、字符串常量的地方。
4.code segment:存放代码。
5.引用数据类型(数组、类)
1.类定义完之后不能直接使用,必须先new一个对象才能调用。
两种方法: (1)声明并实例化对象:
类名称 对象名称 = new 类名称();
(2)分布进行对象实例化:
【1】声明对象: 类名称 对象名称 =null;
【2】实例化对象:对象名称 = new 类名称();
2.调用类中的属性:对象.属性= 内容;
调用类中的方法:对象.方法();
class类定义的语法:
class类名称{
属性;
属性;
方法(){
}
}
类名称每个单词首字母要求大写,类中的每一个方法的代码尽量不要特别长
类定义完成之后是不能直接去使用的,如果要使用,必须产生对象,产生对象的方法:
1、声明并实例化对象:类名称 对象名称=new 类名称();
2、分布进行对象实例化:
1.声明对象:类名称 对象名称=null
2.实例化对象:对象名称=new 类名称()
类是一个共性的概念,对象指的是一个个具体的事物
在开发过程中首先产生类,而后才可以产生对象。
类中的组成:方法(操作的行为)、属性(变量,描述每一个对象的特点)
课时56 覆写(方法覆写)
重点核心
子类定义了与父类方法名称、参数类型和个数完全相同的方法,不能有比父类更严格的访问权限
进行复写使用的时候,需要关注
1、当前使用的对象是使用哪个类new的
2、调用方法如果被子类重写过,则会调用子类的方法
注意:
被复写的方法不能比父类有更严格的访问权限
private < default < public
父类中使用default权限,那么子类可以使用default/public
方法使用public
属性使用private
但是:
如果父类中使用private,子类中不能使用public,这样子类的中属于新方法,不属于复写
重载 复写
overloading override
重载:方法名称相同,参数类型和个数不同(返回值可以不同,但是开发规范建议不要)
在同个类中
无权限要求
复写:
方法名称,参数类型和个数,返回值都一样
在继承关系中提现
子类同个方法不能拥有比父类更严格的权限控制
字节:数据传输或者编码转换
支持:
构造方法:
public String(byte[] byte)
public String(byte[] byte, int offset, int length)
普通方法:
public byte[] getBytes()
public byte[] getBytes(String charsetName) throws UnsupportedEncodingException //编码转换
字节 -128 到 127 无法表示中文
字符才用于表示中文
字符数组 变成 字符串
public String(char[] value) //构造方法
public String(char[] value, int offset, int count) // offset开始,count个数,构造方法
public char charAt(int index) //返回字符串索引位置的字符,索引从0开始 开发中出现的几率很低,普通方法
字符串 变成 字符数组
public char[] toCharArray() //普通方法
重点:字符串和字符数组的互相转换
不做if判断也是可以的
Garbage Collection 才对