大早去自习室尝试杰哥说的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