Java基础-静态属性,继承

本文详细介绍了Java中的静态属性和静态方法的概念及其使用方式,并深入探讨了继承机制,包括如何实现类之间的继承以及如何调用父类的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java基础-静态属性-继承

静态属性:

概念:静态属性static属于类,只要类被加载,其就被加载,所以现有静态属性再有实例属性,实例属性被加载,静态属性也一定被加载,静态属性被加载,实例属性不一定被加载。实例属性属于对象。静态属性通过类名直接访问,如:car.count
静态方法:public static void showcarcount(){}
实例方法可以访问静态方法,属性。静态方法不能访问实例方法,因为先加载静态在加载实例
public class car {
 String brand;//实例属性,属于对象,先有静态属性,而后才有实例属性,所以实例方法可以加载静态方法,静态方法不能加载实例属性
 double price;
 static int count=0;//用static申明是静态属性,只要类呗加载,静态属性就会被加载
 /*
  * 全参函数
  */
 	public car(String brand, double price) {

	this.brand = brand;
	this.price = price;
	car.count++;
 	}

 	public car(String brand) {
	this(brand,13200000);
	
	
}

 	public car(double price) {
	this.brand = "福特SUV";
	this.price = price;
}

 	public car() {
	this.brand ="宝马";
	this.price = 145600;
	
}
//实例方法可以加载静态属性
 public	void run(){
	
	System.out.println(this.brand+"在奔跑,售价为"+this.price );
	
}
 //静态方法不能加载实例属性,因为静态方法加载的时候,实例属性未必已经加载了
 public static void showcarcount(){
	 System.out.println("售出汽车"+car.count+"辆");
	 
 } 
}
public class tester {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
	car c1=new car();
	car c2=new car("福特SUV");
	car c3=new car("宝马",123123);


	c1.run();
	c2.run();
    c3.run();
	car.showcarcount();
	}

}

继承extends:

extends+类名,继承父类的所有属性和方法,被继承的类叫父类,继承能大量提高复用率,在面向过程的编程语言中复用级别只到函数,面向对象服用级别到类。
object属于lang包下的类,任何java类都有object类,无需导入就可以使用,这是根级别的类。
任何一个java只能继承一个父类(单继承),被继承的类:父类(parent class),超类(super class),基类(base class)继承的类:子类(child class)派生类(derivedclass)
/**
 * 被继承的类,该类的父类是Object
 * @author d
 *
 */
public class animal {
	String breed;
	Integer age;
	Integer weigth;
	Random r =new Random();

	//全参构造方法,如果父亲没有有参构造方法则默认生成一个无参构造方法,如果父亲有有参构造方法,子类必须调用父亲的构造方法,用Super来调用
	public animal(String breed, Integer age, Integer weigth) {
		super();
		this.breed = breed;
		this.age = age;
		this.weigth = weigth;
	}

	public void run(){
		
		System.out.println(this.age+"的"+this.breed+"在奔跑");
	}
	
	public void eat(){
		
		System.out.println(this.age+"的"+this.breed+"在捕食,捕食后体重为"+this.weigth+r.nextInt(2));
	}
 	
}

/**
 * @author d
 * 继承父亲的属性和方法
 *用extends
 */
public class tiger extends animal {
	//自己的实例属性
	String color;
//调用父类的无参构造方法,如果父亲有参构造方法,则通过super进行调用super指向父亲;
	//
//	public tiger() {
//		//调用父亲的构造方法,
//		super("东北虎",3,222);
//		//自己的构造方法、,父亲的构造方法优先于自己
//		this.color="红色";
//	}

	//全参构造方法,先调用父亲的构造方法,然后在自己的方法构造(层叠构造方法)先完成父亲的构造,然后是自己的构造
	public tiger(String breed, Integer age, Integer weigth, String color) {
	super(breed, age, weigth);
	this.color = color;
}

	public void work(){
		
		System.out.println(this.age+"颜色为"+this.color+"的"+this.breed+"在锻炼");
	}

 
}


	public static void main(String[] args) {
		
		tiger t=new tiger("东北虎",3,44,"黄色");
		t.eat();
		t.run();
		t.work();
		Me m=new Me();//构造方法先调用父亲的构造方法,然后在调用自己的构造方法
		
		

	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值