构造方法

大早去自习室尝试杰哥说的JavaBean

public class Person
{
    private int id;
    private String name;
    public  void setId(int pid)
    {
        this.id = pid;
    }
    public int getId(){
        return id;
    }
    public void setName(String pName)
    {
        name=pName;
    }
    public String getName()
    {
        return name;
    }
    public String toString()
    {
        return id + name;
    }
}


class  Test
{
    public static void main(String[] args)
    {
        Person p = new Person();
        p.setId(20);
        int pId = p.getId();
        System.out.println(pId);
        p.setName("某欣");
        String pName = p.getName();
        System.out.println(pName);
        System.out.println(p);
    }
}
--------------------------------------------------------------------
20
某欣
20某欣

看了会类型转换

public class Main {

    public static void main(String[] args) {
	int a ; int b ;int c ;
	a=3;b=3;c=4;
	System.out.println((a+b+c)/3);
    }
}

结果为3 这是数据类型出问题,于是通过类型转换及格式设置
修改

public class Main {

    public static void main(String[] args) {
	int a ; int b ;int c ;
	a=3;b=3;c=4;
	System.out.println(((float)(a+b+c)/3));
    }
}
3.3333333

而按照书上的还将 println 改成 format

public class Main {

    public static void main(String[] args) {
	int a ; int b ;int c ;
	a=3;b=3;c=4;
	System.out.format("%.1f",(float)(a+b+c)/3);
    }
}
3.3

于是去网上找了一些资料
format 函数的返回类型是字符串
如果想要数字类型转换建议使用convert 和 cast 函数

关于private

偷懒 用杰哥的话

在同一个类中,private修饰的方法是可以被其他方法调用的。但是如果要在其他类中调用另一个类中的private修饰的成员方法,则编译不通过。这也说明,private是私有的,只属于定义该方法的类的对象所有。

原文:https://blog.csdn.net/solo_jie/article/details/113078285?spm=1001.2014.3001.5501

构造方法

要生成对象,就要有一个可以生产对象的地方,在java中只存在两个部分的内容,一个是成员属性,一个是成员方法。那么生成对象,产生对象,是一个动作,是一个业务逻辑,是一种行为。那么对象肯定是在方法中产生。
产生对象的方法叫做构造方法,也叫作构造器。“Constructor”

如果我们没有写任何的构造方法,系统会默认提供一个无参的构造器。 我们来看看当前我们知道的构造器是系统默认的无参数的:
Constructor01(); 这个方法名,与类名一样。
(1) 这个方法有返回值吗?
有 / 没有
这个方法有什么用?
1) new Constructor01()这个被执行的时候,会在堆内存中开辟一块空间,用来存放具体的对象,给对象的成员属性赋初值,赋默认值。
2) 如果,我们写了有参数的构造器,那么执行完构造方法后,对象的成员属性就会被赋值。
构造方法的作用:
1.在堆内存中生成对象
2.给对象的成员属性赋初始值
3.如果是无参的构造,那么成员属性被赋默认值(基础数据类型的默认值是什么样的?(课后自己去测)。引用数据类型的初始值是什么样的?—null)
4.只有构造器被执行以后,才会生成对象。所它极其重要。

构造方法是一个重载的方法,如果我们在类中没有定义构造方法,系统会默认有一个没有参数也叫作无参构造。
如果,我们定义了一个有参的构造方法,没有定义无参的构造方法,那么系统不再给默认的无参构造。编译的时候,系统会屏蔽掉无参的默认构造,只会去找我们定义的有参构造。
记住:如果我们没有手动定义无参构造,而又定义了其他有参构造,系统将不会再给出默认的无参构造。无参就不会存在,我们也不能在代码中使用该无参构造。
记住:正常情况下,我们都需要定义无参构造,然后再定义自己想要的有参构造。(Overload)
只要满足构造方法的定义条件(参数列表中参数的个数最多不能超过成员属性的个数,而且类型要匹配),无论你定义多少个构造,都是可以的,只要满足方法的重载机制。
——— 版权声明:本文为CSDN博主「solo_jie」的原创文章,遵循CC 4.0
BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/solo_jie/article/details/113078285

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值