static静态的,是不变的,在java中static修饰成员属性,方法时,表示该属性/方法能够被类名直接调用,如工具类等java
而this表明本类对象的引用,一般用与成员变量与局部变量重名时。sql
super表明子类对父类满参构造函数的初始化,也是须要产生对象才能够使用可是考虑到虚拟机加载顺序为先加载类,当被实例化才产生对象。因此若是并存则表示类和对象同时加载,显然是不合逻辑的。数组
执行顺序:父类静态代码块>子类静态代码块>main函数>构造代码块>构造方法函数
(注意:方法只能并列使用,不能嵌套使用!!!!!!!!!)工具
–--------------
|
public | protected | default | private |
同一类中 |
✔
|
✔
|
✔
|
✔
|
同一包中this (子类与无关类)spa |
✔
|
✔
|
✔
|
|
不一样包的子类
|
✔
|
✔
|
||
不一样包中的无
关类
|
✔
|
API ---> Application Interface 应用程序接口.net
java中的五大经常使用包: java.lang、 java.util、 java.io、 java.net、 java.sqlcode
equals
方法在非空对象引用上实现等价关系:x
, x.equals(x)
应该返回true
。x
和y
, x.equals(y)
应该返回true
当且仅当y.equals(x)
回报true
。x
, y
和z
,若是x.equals(y)
回报true
个y.equals(z)
回报true
,而后x.equals(z)
应该返回true
。x
和y
,屡次调用x.equals(y)
始终返回true
或始终返回false
,没有设置中使用的信息equals
比较上的对象被修改。x
, x.equals(null)
应该返回false
。equals
类方法Object
实现对象上差异可能性最大的相等关系; 也就是说,对于任何非空的参考值x
和y
,当且仅当x
和y
引用相同的对象( x == y
具备值true
)时,该方法返回true
。hashCode
方法,以便维护hashCode
方法的通用合同,该方法规定相等的对象必须具备相等的哈希码。toString
方法返回一个“textually表明”这个对象的字符串。 结果应该是一个简明扼要的表达,容易让人阅读。 建议全部子类覆盖此方法。 该toString
类方法Object
返回一个由其中的对象是一个实例,该符号字符`的类的名称的字符串@
”对象
和对象的哈希码的无符号的十六进制表示。
换句话说,这个方法返回一个等于下列值的字符串:
getClass().getName() + '@' + Integer.toHexString(hashCode())
String
类表明字符串。 Java程序中的全部字符串文字(例如"abc"
)都被实现为此类的实例。
字符串不变; 它们的值在建立后不能被更改。 字符串缓冲区支持可变字符串。
由于String对象是不可变的,它们能够被共享。
练习代码:
/* 本身建立一个类,写一个静态方法,传入一个int数组,得 到一个字符串[元素1,元素2,….] */ public class HomeWork02 { public static void main(String[] args) { int[] arr = new int[]{1,55,66,99,88,74,22,44,32,22}; System.out.print("["); for (int i = 0;i<arr.length;i++){ if (i!=arr.length-1){ System.out.print(arr[i]+","); }else { System.out.print(arr[i]); } } System.out.println("]"); } }
public class HomeWork01 { public static void main(String[] args) { // 在控制台输入字符串,统计出大写的字符的个数,小写的字符个数,数字类型的字符个数,以及其余字符的个数 Scanner sc = new Scanner(System.in); int big = 0; int small = 0; int num = 0; int other = 0; System.out.println("请输入一串字符串"); String str = sc.next(); for (int i = 0; i < str.length(); i++) { if (str.charAt(i) >= 65 && str.charAt(i) <= 90) { big++; } else if (str.charAt(i) >= 97 && str.charAt(i) <= 122) { small++; } else if (str.charAt(i) >= 48 && str.charAt(i) <= 57) { num++; } else { other++; } } System.out.println("大写字母有:" + big + "个"); System.out.println("小写字母有:" + small + "个"); System.out.println("数字有:" + num + "个"); System.out.println("其余字符有:" + other + "个"); } }