String比较是否相等
String s1=new String("asd");
String s2=new String(new char[]{'a','s','d'});
String s3="asd";
String s4="asd";
System.out.println(s1==s2);
System.out.println(s1.equals(s2));
System.out.println(s3==s4);
简单数据类型和封装类比较是否相等
int i=10;
int j=10;
int h=new Integer(10);
Integer m=new Integer(10);
Integer n=new Integer(10);
Integer k=10;
System.out.println(i==j);
System.out.println(m==n);
System.out.println(i==m);
System.out.println(m==k);
System.out.println(i==k);
System.out.println(i==h);
System.out.println(m==h);
System.out.println(h==k);
方法重写
public class Person {
public void sleep(){
System.out.println("在家睡觉");
}
}
public class Student extends Person{
public void sleep(){
System.out.println("在学校睡觉");
}
}
public class Text {
public static void main(String[] args) {
Person person=new Person();
person.sleep();
Student student=new Student();
student.sleep();
}
}
方法重载
public class Dog extends Animal {
public void voice() {
System.out.println("汪汪");
}
public void voice(String name) {
System.out.println("看见" + name + "立刻就咬");
}
public void voice(int age){
if(age<18){
System.out.println("摇尾巴");
}else{
System.out.println("走开");
}
}
public class Text {
public static void main(String[] args) {
Dog dog=new Dog();
dog.voice();
dog.voice("john");
dog.voice(14);
dog.voice(21);
}
}
强制类型转换
public class Animal {
public void voice(){
System.out.println("动物叫");
}
}
public class Dog extends Animal {
public void voice() {
System.out.println("汪汪");
}
public void voice(String name) {
System.out.println("看见" + name + "立刻就咬");
}
}
public class Text {
public static void main(String[] args) {
Animal animal1=new Animal();
Animal animal2=new Dog();
animal1.voice();
animal2.voice();
if(animal2 instanceof Dog){
((Dog)animal2).voice("tom");
}else{
System.out.println("animal2不是Dog");
}
instanceof static final
instanceof
if(animal2 instanceof Dog){
((Dog)animal2).voice("tom");
}
static
public static int eyeNum=2;
public static void run(){
System.out.println("狗跑的很快");
}
final
1.修饰类:不能被继承,不能有子类
2.修饰方法:不能被重写
3.修饰变量:不能改变,不能被重新赋值
静态常量:全部用大写,中间用下划线隔开
Object 祖类
**toString()**
public class Animal {
public void voice(){
System.out.println("动物叫");
}
}
public class Dog extends Animal {
@Override
public String toString() {
return "boy";
}
}
public class Text {
public static void main(String[] args) {
Dog boy=new Dog();
System.out.println(boy);
}
}
**equal()**
public class Student{
public int id;
public String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public boolean equals(Object obj) {
boolean isSame=false;
if(obj!=null){
if(obj instanceof Student){
isSame=((Student)obj).id==this.id;
}
}
return isSame;
}
public class Test {
public static void main(String[] args) {
Student zhangsan=new Student();
zhangsan.setId(001);
zhangsan.setName("张三");
Student lisi=new Student();
lisi.setId(001);
lisi.setName("张思");
System.out.println(zhangsan==lisi);
System.out.println(zhangsan.equals(lisi));
}
}
**hashCode()**
Dog boy=new Dog();
System.out.println(boy);
System.out.println(boy.hashCode());
输出:com.animal.Dog@19e0bfd
27134973
类型、进制转换
**类型转换**
String str="123";
System.out.println(Integer.parseInt(str)+3);
**进制转换**
String str="A1";
System.out.println(Integer.parseInt(str, 16));