静态,构造块,方法调用

Posted jachinmeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了静态,构造块,方法调用相关的知识,希望对你有一定的参考价值。

 package com.gg.test;

 
public class Monkey {
 
static  {
 
System.out.println("我是静态块, 我是被第一个调用的, 优先级在所有的之前。 我被  类加载器加载的 ");
 
}
{
 
System.out.println("我是  构造块   ,我和类本身没关系, 我和对象有关系");
 
}
/***
 * 静态块    掌握  
 * 
 * 构造块      了解
 * 构造器      掌握
 * 
 */
 
 
 
// static  修饰的   变量   还是  方法    都 不再属于   对象本身了,  而是    属于  该数据类型的,   =》  类   全局,大家公用。就一份
//  类名.调用        
static   String    food  =  "香蕉";
 
static   void   function(){
 
 
}
// 成员 一个对象单独一份, 相互之间 没有任何的关系。
String id;
String name;
String age;
String gender;
 
@Override
public String toString() {
return "Monkey [id=" + id + ", name=" + name + ", age=" + age
+ ", gender=" + gender + "]";
}
 
public Monkey(String id, String name, String age, String gender) {
super();
this.id = id;
this.name = name;
this.age = age;
this.gender = gender;
}
 
public Monkey() {
 
System.out.println("只要你new 了我,  我就被调用一次,  new几次, 我被调用几次");
 
}
 
// 说话 ,
public void say() {
System.out.println("大家好我的名字叫" + this.name);
 
}
 
// 猴子会自我介绍
public void desc() {
 
System.out.println("我今年" + age + "岁了");
}
 
// 猴子会算算术 俩数
public void artMath(int number1, int number2) {
System.out.println(number1 + "+" + number2 + "=" + (number1 + number2));
}
 
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
package com.gg.test;
 
public class Test3 {
 int radius;
 int  high;
 
 
     public Test3() {
super();
// TODO 自动生成的构造函数存根
}
 
 
public Test3(int radius, int high) {
super();
this.radius = radius;
this.high = high;
}
 
 
@Override
public String toString() {
return "Test3 [radius=" + radius + ", high=" + high + "]";
}
 
 
public  void result(){
 
System.out.println("结果等于"+this.radius*this.radius*3.14);
 
System.out.println("我是你大爷!!!");
 
}
 
 
public int getRadius() {
return radius;
}
 
 
public void setRadius(int radius) {
this.radius = radius;
}
 
 
public int getHigh() {
return high;
}
 
 
public void setHigh(int high) {
this.high = high;
}
}
 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
package com.gg.test;
 
public class demo3 {
public static  void main(String[] args) {
System.out.println("请输入圆柱体的高");
System.out.println("请输入圆柱体的半径");
 
Test3 g=new Test3();
g.radius=3;
g.high=2;
g.result();
 
Monkey m=new Monkey();
m.name="wangwu";
m.say();
}
}
技术分享图片


以上是关于静态,构造块,方法调用的主要内容,如果未能解决你的问题,请参考以下文章

关于静态块静态属性构造块构造方法的执行顺序

java中静态代码块构造代码块构造方法main函数的执行顺序?

构造函数,静态代码块,构造代码块

代码块

线程类的构造方法静态块是被哪个线程调用的

代码块(了解)