0
点赞
收藏
分享

微信扫一扫

Java面向对象之静态属性静态方法、访问权限、getter与setter


一、静态

1、static静态的特点
(1)数据共享
(2)属于类的.并不属于对象
(3)优先于对象产生的

2、优于对象产生(构造器解释)
在程序执行时,是先创建静态构造器,再创建通用构造器。

public class Test03{
{
System.out.println("---我是通用构造器---");
}

static{
System.out.println("---我是静态构造器---");
}

//创建构造方法
public Test03(){
System.out.println("------构造方法------");
}
//定义主方法
public static void main(String[] args){
new Test03(); //调用构造方法
}
}

Java面向对象之静态属性静态方法、访问权限、getter与setter_构造器

3、静态属性或方法使用类名去访问(静态方法也可直接调用)

public class Test03{
static char level = 'D'; //定义静态属性
{
System.out.println("---我是通用构造器---");
}

//静态方法会默认执行,不创建对象也会执行
static{
System.out.println("---我是静态构造器---");
}

//创建构造方法
public Test03(){
System.out.println("------构造方法------");
}
public static void SStatic(){
System.out.print("She is " + size + ' '); //使用静态属性可以不用this
System.out.println("------我是静态方法------");
}
//定义主方法
public static void main(String[] args){
Test03.SStatic(); //使用类名访问静态方法
SStatic(); //直接访问静态方法
}
}

Java面向对象之静态属性静态方法、访问权限、getter与setter_构造方法_02

二、访问权限

1、权限类别
public:公共的,所有成员都能访问
default:默认的,也称包访问权限,在自己的包内才能访问,其他包内不能访问
private:私有的,在其他类中不能访问(包中可以有多个类)

2、练习

public class Test03{
public String a = "public"; //公有变量
String b = "default"; //默认变量
private String c = "private"; //私有变量

public static void main(String[] args){
Test03 Te = new Test03(); //创建对象
//主方法中访问三种类型的变量
System.out.println(Te.a);
System.out.println(Te.b);
System.out.println(Te.c);
}
}

Java面向对象之静态属性静态方法、访问权限、getter与setter_构造方法_03


在其他包(文件夹)中则无法访问到变量b,在其他类中无法访问到变量c。

我们平时用的最多的就是public和private。

三、getter与setter

1、getter、setter原型

  • 主方法类的内容:

public class Test03 {
public static void main(String[] args){
Test03_Person P = new Test03_Person(); //创建对象人

//年龄的语法没有问题。但是,逻辑上不对,年龄不可能是负数!
// P.name = ”草帽路飞"; //给对象属性赋值
// P.age = -1;

//查看这个人的名字和年龄
P.setName("草帽路飞"); //给私有成员属性赋值
P.setAge(-1); //给私有成员属性赋值
System.out.println(P.getName()); //获取私有成员属性
System.out.println(P.getAge());
P.act();
}
}

  • 对象人类的内容

public class Test03_Person{
//成员安量是私有的
private String name;
private int age;

//setter原型
public void setName(String name){
this.name = name;
}
//保证我们的成员变量是值是规范的
public void setAge(int age){
if (age<0){
this.age = 0;
}else{
this.age = age;
}
}

//getter原型
public String getName(){
return this.name;
}
public int getAge(){
return this.age;
}

//定义人的行为方法
public void act(){
System.out.println("行为:" + this.age + "岁大的" + this.name + "正在散步~");
}

}

  • 结果
  • Java面向对象之静态属性静态方法、访问权限、getter与setter_构造器_04

  • 2、getter与setter的调出方法
    在写好属性之后,空白处右击,Generate,选Getter and Setter,就会自动生成以上getter与setter的原型框架,只需要稍作修改就可以直接使用了。


举报

相关推荐

0 条评论