java补充知识-面相对象equals,toString, static,静态代码块,字符串转化

String 中的equals用法

String s1=“sss”;
String s2=“sss”;
System.out.println(s1.equals(s2));

Integer 中的toString方法

int c=33;
String b=Integer.toString©;
System.out.println(b);

面相对象中 的概念和用法???

public class Person {
	// 设置成员变量
	private int i;
	private String s;
	// get set 方法 设置变量
	public int getI() {
		return i;
	}
	public void setI(int i) {
		this.i = i;
	}
	public String getS() {
		return s;
	}
	public void setS(String s) {
		this.s = s;
	}
	
	
	//  重写对象的equals 和hashcode
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Person other = (Person) obj;
		if (i != other.i)
			return false;
		if (s == null) {
			if (other.s != null)
				return false;
		} else if (!s.equals(other.s))
			return false;
		return true;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + i;
		result = prime * result + ((s == null) ? 0 : s.hashCode());
		return result;
	}	
	
	//重写对象的 输出方法
	@Override
	public String toString() {
		return "Person [i=" + i + ", s=" + s + "]";
	}
	

}



public class Main {

	public static void main(String[] args) {
		Person p1 = new Person();
		p1.setI(3);
		p1.setS("ssmmyy");
		//调用重写的 toString 方法
		System.out.println(p1.toString());
		
		
		
		Person p2= new Person();
		p2.setI(3);
		p2.setS("ssmmyy");
		// 调用重写的equals 方法
		System.out.println(p1.equals(p2));
	}

}

static

  • 有些方法不需要被实例化对象调用。 可以直接类调用方法。 static
  • static 方法不能调用非static 成员,不能用this。
  • 非static 方法 可以调用static 方法
  • 成员变量也可以用static,相当于全部变量 如: public static int i;
  • 类中成员也可以定义常量: public static final int A=5; (定义常量,大写)

public class Person {
	// 设置成员变量
	private int i;
	private String s;
	// get set 方法 设置变量
	// 定义静态成员变量
	public static int q;
	// 定义静态方法
	public static void jingTaiMethod()
	{
		System.out.println("这是一个静态方法");
	}
	public int getI() {
		return i;
	}
	public void setI(int i) {
		this.i = i;
	}
	public String getS() {
		return s;
	}
	public void setS(String s) {
		this.s = s;
	}
	
	
	
	
	//  重写对象的equals 和hashcode
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Person other = (Person) obj;
		if (i != other.i)
			return false;
		if (s == null) {
			if (other.s != null)
				return false;
		} else if (!s.equals(other.s))
			return false;
		return true;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + i;
		result = prime * result + ((s == null) ? 0 : s.hashCode());
		return result;
	}	
	
	//重写对象的 输出方法
	@Override
	public String toString() {
		this.jingTaiMethod();
		return "Person [i=" + i + ", s=" + s + "]";
	}
	
// 调用
public class Main {

	public static void main(String[] args) {
		
		// 调用静态成员方法
		Person.q=3;
		System.out.println(Person.q);
		Person.jingTaiMethod();
		Person p1 = new Person();
		p1.setI(3);
		p1.setS("ssmmyy");
		//调用重写的 toString 方法
		System.out.println(p1.toString());
		
	
	}

}}


一般main 中的方法 static void f();
一般类中的static 方法。 public static void f1();

静态代码块

静态代码块 只对象初始化第一次执行。 只执行1次,在构造函数之前执行

public class Person {

	private int i;
	// 定义静态成员变量
	public static int q;
	// 定义静态方法
	
	static {
		System.out.println("这是 static静态代码块"); 
		
	}
	
	//重写对象的 输出方法
	@Override
	public String toString() {
		return "Person [i=" + i + "]";
	}


	public int getI() {
		return i;
	}


	public void setI(int i) {
		this.i = i;
	}
	

}

//调用

public class Main {

	public static void main(String[] args) {
		
		// 调用静态成员方法
		
		Person p1 = new Person();
		p1.setI(3);
		//调用重写的 toString 方法
		System.out.println(p1.toString());
		
		Person p2 = new Person();
		p2.setI(5);
		//调用重写的 toString 方法
		System.out.println(p1.toString());
		
		
		
	
	}

}

转化为字符串

public class Main {

	public static void main(String[] args) {
		// 把字符串转化为整型  Integer.parseInt
		String s2="333";
		int i1=Integer.parseInt(s2);
		System.out.println(i1);
		
		// 整型转化为字符串Integer.toString
		int i=3;
		String s=Integer.toString(i);
		System.out.println(s);
		// 长整型 转化为字符串Long.toString
		long l=55L;
		String s1=Long.toString(l);
		System.out.println(s1);
		
		//String 的valueOf方法
		int m=666;
		float f=3.14f;
		System.out.println(String.valueOf(m));
		System.out.println(String.valueOf(f));
		
	
	}

}

枚举类型

// 一般字符串?
public enum Dri {

a,s,w,d
}

使用
Dri 也是个类型
Dir d1 声明变量使用。

public class Main {

public static void main(String[] args) {
	// TODO Auto-generated method stub

	// 枚举类型变量 赋值。
	Dri d1=Dri.a;
	System.out.println(d1);
	// 枚举类型变量 赋值。

	Dri d2=Dri.s;
	System.out.println(d2);
	
	
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值