public class fu {
int numFu =20;
int num =3;
public void methodfu(){
System.out.println(num);
}
}
2)子类
package cn.javase.video.study.jicheng;
public class zi extends fu {
int numZi =32;
int num =1;
public void methodzi(){
System.out.println(num);
}
}
3)父类子类使用
package cn.javase.video.study.jicheng;
/*
父子类使用中,成员变量重名了,则在创建访问对象时有两种访问规则:
1.直接
对象创建时,是哪个类创建的对象,则是哪个累的成员变量,如果没有,则在向父类上找。找不到就报错
2.间接
通过访问成员方法间接访问成员变量
该方法属于谁就优先使用谁,找不到再向上找
*/
public class Extends {
public static void main(String[] args) {
//直接
zi zz =new zi();
int aa=zz.num;//父类子类中都存在num变量,他们重名,因为此对象是子类创建,所以首先
// 在子类中查找,如没找到再去父类
System.out.println(aa);
//间接
zi zi = new zi();
//父类与子类都存在num变量,但现在是通过成员方法间接访问。
// (1)如果是子类方法,则固然先在子类方法中找,找不到在向上找
zi.methodfu();//输出fu
// (1)如果是父类方法,则固然先在父类方法中找。
zi.methodzi();//输出zi
}
}
(4)区分子类方法中的三种重名变量
使用super关键字,指定是父类中的成员变量。
父类 子类 含主函数调用父类子类的类
Int num; int num; 子类 对象 =new 子类();
Public void method (){ 对象.方法();
System.out.println(num);//子类中的局部变量
System.out.println(this.num);//本类中的成员变量
System.out.println(super.num);//父类中的成员变量
*注意:
import java.util.Arrays;
public class ArrayUtilityClassArrays { public static void main(String[] args) { // 1.将参数数组转换为字符串 int [] a1 =new int[]{1,235,63,324,23};//定义一个int型数组 String a2 = Arrays.toString(a1);//toString是转换结束后变为一个新的字符串,字符串 // 不能存储在原数组,所以创建一个String型变量,并将调用的tostring方法结果赋值a2; System.out.println(a2);//输出转换后的字符串 for (int i = 0; i < a1.length; i++) {//输出数组元素 System.out.println(a1[i]); }
// 2.按默认升序对数组元素排序 // (1)字符串排序 String [] a3 =new String[]{"aa","fff","ggggg","rrrr"}; Arrays.sort(a3);//调用Arrays类的sort方法对数组元素排序 默认升序 System.out.println(Arrays.toString(a3));//输出排序后的数组会是16进制地址值, // 所以调用Arrays类中的toString方法将数组转换为字符串输出。 //(2)数字排序 int [] a4 =new int[]{1,323,547637,7456,2245}; Arrays.sort(a4); System.out.println(Arrays.toString(a4)); }
} (2)练习:请使用Arrays相关API,将一个随机字符中的所有字符升序排列,并倒叙打印
package cn.javase.video.study.Array;
import java.util.Arrays; import java.util.Random; import java.util.Scanner;
//题目:请使用Arrays相关API,将一个随机字符中的所有字符升序排列,并倒叙打印 /思路: 1.Random生成一个随机字符串,或者Scanner手动输入一个随机的字符串 2.将字符串拆分为字符数组toCharArray 3.将字符数组使用Arrays.sort进行升序排序。 4.数组反转。for(min=0,max=array1.length-1;min<max;min+++.max--)或者 array1.forr() 5.打印反转 数组
*/ public class ArraysExercise { public static void main(String[] args) { // 1.键盘输入随机字符串 Scanner sc =new Scanner(System.in); System.out.println("请输入随机字符:"); String as= sc.next(); // 利用toCharArray方法将输入字符串拆分为字符数组 char [] sa=as.toCharArray(); // 将拆分后的字符数组进行升序排序,排序后得到的还是数组 Arrays.sort(sa); //将排序后的数数倒叙打印 for (int i = sa.length - 1; i >= 0; i--) { System.out.println(sa[i]); }
} }
1.继承 (1)继承格式
(2)继承概述
(3)继承中成员变量的访问特点 1)父类 package cn.javase.video.study.jicheng;
public class fu { int numFu =20; int num =3; public void methodfu(){ System.out.println(num); } } 2)子类 package cn.javase.video.study.jicheng;
public class zi extends fu { int numZi =32; int num =1; public void methodzi(){ System.out.println(num); } }
3)父类子类使用 package cn.javase.video.study.jicheng;
/*
//间接 zi zi = new zi(); //父类与子类都存在num变量,但现在是通过成员方法间接访问。 // (1)如果是子类方法,则固然先在子类方法中找,找不到在向上找 zi.methodfu();//输出fu // (1)如果是父类方法,则固然先在父类方法中找。 zi.methodzi();//输出zi } } (4)区分子类方法中的三种重名变量 使用super关键字,指定是父类中的成员变量。 父类 子类 含主函数调用父类子类的类 Int num; int num; 子类 对象 =new 子类(); Public void method (){ 对象.方法(); System.out.println(num);//子类中的局部变量 System.out.println(this.num);//本类中的成员变量 System.out.println(super.num);//父类中的成员变量
}