/*
封装的作用:防止外部的访问,隐藏实现细节
将类内部的属性都进行私有化
封装原则:将数据进行隐藏,通过提供方法进行访问
*/
class Person
{
//私有 private,外界不能直接访问,只在本类中有效
//私有仅仅是封装的一种体现而已
private int age;
private String name;
void speak()
{
System.out.println("age="+age);
}
public void setAge(int a)
{
if(a>=0&&a<=100)
this.age=a;
else
System.out.println("error age");
}
public int getAge()
{
return this.age;
}
}
class PersonDemo
{
public static void main(String[] args)
{
Person p=new Person();
p.setAge(20);
p.speak();
}
}
/*
构造函数(用于给对象进行初始化)
特点:1。函数名与类名相同
2.函数没有返回值
3.没有返回类型
一般函数与构造函数的区别:
构造函数对象创建时就会调用构造函数
一般函数对象创建后才能使用
构造函数一般只使用一次
一般函数可以调用多次
什么时候定义构造函数呢
事物一存在就具备一些默认值,这些内容定义在构造函数中
*/
class Person
{
private int age;
private String name;
//构造函数
//创建的对象都要使用构造函数进行初始化
//一个类中默认有一个空构造函数,如果定义了一个,则默认函数被覆盖
public Person()
{
System.out.println("person run");
this.name="baby";
this.age=1;
}
public Person(String name)
{
this.name=name;
}
public Person(String name,int age)
{
this.name=name;
this.age=age;
}
public void speak()
{
System.out.println("age="+age);
}
public void setAge(int a)
{
if(a>=0&&a<=100)
this.age=a;
else
System.out.println("error age");
}
public int getAge()
{
return this.age;
}
}
class PersonDemo
{
public static void main(String[] args)
{
Person p=new Person();
p.speak();
}
}