首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Java封装构造方法

Java封装构造方法

作者头像
如烟花般绚烂却又稍纵即逝
发布2024-11-26 08:36:32
发布2024-11-26 08:36:32
3140
举报
文章被收录于专栏:javajava

private/public的分装

被public修饰的成员变量或者是成员方法,可以被类的调用对象直接使用 而private修饰的成员变量和方法,不能被类的调用对象使用 例如:

可以看到我们是不能在main方法中直接调用被private修饰的变量

当然我们可以在我们定义的TestMode类中可以定一个方法show,然后在调用show方法实现

这里我们可以清楚了解 private 不光可以修饰字段, 也能修饰方法 通常情况下我们会把字段设为 private 属性, 但是方法是否需要设为 public, 需要具体情况定

setName来访问和修改被private的信息

代码语言:javascript
复制
class TestMode{
    private String name="zhangsan";
    private int age=18;
    public void setName(String name){
        this.name=name;
        //这里的this是访问我们类中的成员变量
        //name=name  //这样写的话是错误的
        //或者可以将参数写为其他名称来进行赋值
    }
    public String setName(){
        return name;
    }
    public void show(){
        System.out.println("年龄:"+ age+", 姓名:"+name);
    }
}
public class test {
    public static void main(String[] args){
    TestMode mode=new TestMode();
    mode.setName("lisi");
    mode.show();
    }
}

这里我们可以直接生成setName方法,里面有很多可以生成的源代码,快捷键我的默认是command+n.

构造方法

1.首先我们的构造方法需要与你的类名相同 2.我们的构造方法可以重载 3.构造方法没有返回值,对象的引用,为对象分配一块空间来储存并调用对象的构造方法

代码语言:javascript
复制
class TestMode{
    private String name;
    private int age;
    private String gender;
    //默认的构造函数
    public TestMode(){
        //构造对象固定默认
        this.name="lisi";
        this.age=19;
        this.gender="nv";
    }
    //给予参数的构造函数
    public TestMode(String name,int age,String gender) {
    this.name=name;
    this.age=age;
    this.gender=gender;
    }
    public void show(){
        System.out.println("name: "+name+" age: "+age+" gender: "+gender);
    }
}
public class test {
    public static void main(String[] args){
    TestMode p1=new TestMode();
    p1.show();
    TestMode p2=new TestMode("zhangsan",18,"nan");
    p2.show();
    
    //以下为直接的结果
    //name: lisi age: 19 gender: nv
        // name: zhangsan age: 18 gender: nan
    }
}

this关键字

this可以表示当前对象的引用,用来访问属性和引用方法进行调用.

代码语言:javascript
复制
class TestMode {
    private String name;
    private int age;
    private String gender;

    public TestMode(){
    this("lisi",19,"nan");
    }
    public TestMode(String name,int age,String gender){
        this.name=name;
        this.age=age;
        this.gender=gender;
    }
    public void show(){
        System.out.println("name: "+name+" age: "+age+" gender: "+gender);
    }
}
class test{
    public static void main(String[] args){
        TestMode p1=new TestMode();
        p1.show();
    }
    //执行结果:name: lisi age: 19 gender: nan
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-09-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • private/public的分装
  • setName来访问和修改被private的信息
  • 构造方法
  • this关键字
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档