类与对象的关系
类是构建对象的模板,一个类可以构建多个对象。
类在方法区当中,对象在堆中。
static修饰的变量是独属于类的变量,没有给对象。
public class Person {
private String name;
private int age;
private static String like;
public static void main(String[] args) {
Person zhang = new Person();
zhang.name = "zhangsan";
zhang.age = 18;
zhang.like = "apple";
Person li = new Person();
li.name = "lisi";
li.age = 20;
li.like = "banana";
System.out.println(zhang.name+" "+zhang.age+" "+zhang.like);
System.out.println(li.name+" "+li.age+" "+li.like);
}
}
static修饰的变量究竟储存在什么地方
在方法区当中有静态常量池,static修饰的变量被放在静态常量池中,如果静态常量池已满则被存储在方法区当中,总之,不可能在对象中进行存储。
static能修饰什么
static能修饰变量、修饰方法、修饰代码块。
① static修饰的变量属于类变量,被创建出来的所有对象共享。
② static修饰的方法属于类,叫做静态方法,没有被static修饰的方法属于对象。
在静态方法当中不能调用非静态方法,因为有类不一定有对象;非静态方法能调用静态方法,因为有对象一定有类。
③ 被static修饰的代码块不论放在哪里,都一定比main方法优先执行。(用于优化程序)
Person person = new Person();
Person:决定着对象的类型。
person:对象的名称,存储在栈内存当中。
new:关键字,在堆内存当中开辟内存空间(对象)。
Person():构造器,给对象赋初始值。文章来源:https://www.toymoban.com/news/detail-852484.html
public class Person {
static {
System.out.println("我是main方法之前的static修饰的代码块");
}
{
System.out.println("我是main方法之前的代码块");
}
public static void main(String[] args) {
System.out.println("我是main方法");
}
static {
System.out.println("我是main方法之后的static修饰的代码块");
}
{
System.out.println("我是main方法之后的代码块");
}
}
由于在 main方法中并没有创建Person类的实例,因此非静态代码块(实例初始化块)并不会在程序执行时被触发。 文章来源地址https://www.toymoban.com/news/detail-852484.html
public class Person {
static {
System.out.println("我是main方法之前的static修饰的代码块");
}
{
System.out.println("我是main方法之前的代码块");
}
public static void main(String[] args) {
Person person = new Person();
System.out.println("我是main方法");
}
static {
System.out.println("我是main方法之后的static修饰的代码块");
}
{
System.out.println("我是main方法之后的代码块");
}
}
public class Person {
static {
System.out.println("我是main方法之前的static修饰的代码块");
}
{
System.out.println("我是main方法之前的代码块");
}
public static void main(String[] args) {
System.out.println("我是main方法");
Person person = new Person();
}
static {
System.out.println("我是main方法之后的static修饰的代码块");
}
{
System.out.println("我是main方法之后的代码块");
}
}
到了这里,关于【java】static关键字的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!