1.static学习:
static,是java修饰符,可以修饰成员方法,成员变量。
注意:!!!共享的情况,就是用static来修饰
类名:1.见名知意。2.私有化构造方法 3.方法定义为静态。
例:
练习:
package staticdemo2; public class ArrayUtil { //工具类 //1.私有化构造方法 private ArrayUtil() { } //2.方法定义为静态 //一个工具类方法,返回整数数组的内容,格式[1,2,3] public static String printArr(int[] arr) { StringBuilder sb = new StringBuilder(); sb.append("["); for (int i = 0; i < arr.length; i++) { if (i == arr.length-1) { sb.append(arr[i]); } else { sb.append(arr[i]).append(","); } } sb.append("]"); return sb.toString(); } //一个工具类方法,返回平均分, public static double getArrage(double[] arr) { double sum = 0; for (int i = 0; i < arr.length; i++) { sum = sum + arr[i]; } return sum/(arr.length); } }
package staticdemo2; public class TestDemo1 { //测试类 public static void main(String[] args) { //调用该工具类的方法,并返回结果 int [] arr={1,2,3,4,5}; String str = ArrayUtil.printArr(arr); System.out.println(str); double [] brr ={2.5,3.6,6.5,2.4,8.6}; double arrage = ArrayUtil.getArrage(brr); System.out.println(arrage); } }
注意:静态方法中没有this关键字; 静态方法只能访问静态; 非静态方法可以访问所有
(注意:静态的内涵是共享,非静态的内涵是对象)
重新认识main方法:
继承的学习:
当类与类之间存在相同的内容,并且满足子类是父类的一种,就可以考虑使用继承,来优化代码。
重复的东西写在父类当中。
一个子类只能继承一个父类;不支持多继承,子类不能同时继承多个父类。(c++允许多继承)
但是java允许多层继承。子类A继承父类B,父类B继承父类C。(C是A的间接父类)
java中所有类都直接或间接继承Object类。(Object是祖宗类)
子类只能访问父类中非私有的成员
只有父类中的虚方法才能被子类继承(非private,非static,非final)
成员变量的访问特点:
方法的继承:
先在本类中查看方法,有则调用子类的,如果没有就会调用父类的方法。