直接赋值粘贴:
//自定义类,源文件名需和公有类名一致
//一个源文件中只能有一个公有类,但可以有任意数目的非公有类
//源文件.java->字节码文件.class
public class Session4
{
public static void main(String[] args)
{
//定义一个变量,并引用一个Employee对象
//定义一个Employee变量,但这个变量实际并不包含对象
//当引用一个对象后,这个变量才变得有意义,否则为null
Employee e1 = new Employee("aaa",7000.00);
System.out.println(e1.getName()+e1.getSalary());
e1.setName("bbb");
e1.setSalary(5500.00);
System.out.println(e1.getName()+e1.getSalary());
}
}
//public:一个文件仅有一个,且与文件名相同。其它人都可以访问。
//protected:可以有多个。但只能在同一个包中的才能访问,子类不同包可以。
//默认:可以有多个,通常都采用默认(即不写类访问修饰符),同一包中可以访问。
//private:可以有多个,但同包中也不能访问,只有在同类中(类部类)才可以访问。
//自定义类Employee
class Employee//类型只能有一个public且与文件名相同,但可以有多个非public
{
//成员变量-域,成员函数-域方法
//域和方法都需要访问修饰符
/*对于C++来说,
* 访问修饰符:访问限定,public、protected、private一样,java多了一个default
* 类型限定符:值存取方式限定,const、volatile、static、mutable
* 类型修饰符:对类型进行修饰,signed、unsigned
* 类型说明符:说明类型,int、char、float、bool
*/
//为什么书中的java程序,都是将域定义在方法之前呢?
//java程序更加关注域?可面向对象正该要更加关心接口。此处java的不好之处就是定义与实现在一次。
//导致接口和实现难以分离。
private String m_sName;
private double m_dSalary;
//构造器(C++叫构造函数、java没有析构、自动内存回收)
public Employee(String sName,double dSalary)//构造器与类名一致
{//所有域和方法,变量和函数都要加上访问修饰符,否则为默认default访问修饰
//可以使用this引用对象自身,和C++this指针类似
m_sName = sName;//不明白为什么大部分的代码都没有对变量名进行写法m_的修饰,这样不是更容易区分吗!!!
m_dSalary = dSalary;
}
public String getName()
{
return m_sName;
}
public void setName(String sName)
{
m_sName = sName;
}
public double getSalary()
{
return m_dSalary;
}
public void setSalary(double dSalary)
{
m_dSalary = dSalary;
}
//接口定义和实现,写在了一起,导致少量的定义代码,占用了大量的篇幅,不利于代码查看和维护
}
插入代码片段:
//自定义类,源文件名需和公有类名一致
//一个源文件中只能有一个公有类,但可以有任意数目的非公有类
//源文件.java->字节码文件.class
public class Session4
{
public static void main(String[] args)
{
//定义一个变量,并引用一个Employee对象
//定义一个Employee变量,但这个变量实际并不包含对象
//当引用一个对象后,这个变量才变得有意义,否则为null
Employee e1 = new Employee("aaa",7000.00);
System.out.println(e1.getName()+e1.getSalary());
e1.setName("bbb");
e1.setSalary(5500.00);
System.out.println(e1.getName()+e1.getSalary());
}
}
//public:一个文件仅有一个,且与文件名相同。其它人都可以访问。
//protected:可以有多个。但只能在同一个包中的才能访问,子类不同包可以。
//默认:可以有多个,通常都采用默认(即不写类访问修饰符),同一包中可以访问。
//private:可以有多个,但同包中也不能访问,只有在同类中(类部类)才可以访问。
//自定义类Employee
class Employee//类型只能有一个public且与文件名相同,但可以有多个非public
{
//成员变量-域,成员函数-域方法
//域和方法都需要访问修饰符
/*对于C++来说,
* 访问修饰符:访问限定,public、protected、private一样,java多了一个default
* 类型限定符:值存取方式限定,const、volatile、static、mutable
* 类型修饰符:对类型进行修饰,signed、unsigned
* 类型说明符:说明类型,int、char、float、bool
*/
//为什么书中的java程序,都是将域定义在方法之前呢?
//java程序更加关注域?可面向对象正该要更加关心接口。此处java的不好之处就是定义与实现在一次。
//导致接口和实现难以分离。
private String m_sName;
private double m_dSalary;
//构造器(C++叫构造函数、java没有析构、自动内存回收)
public Employee(String sName,double dSalary)//构造器与类名一致
{//所有域和方法,变量和函数都要加上访问修饰符,否则为默认default访问修饰
//可以使用this引用对象自身,和C++this指针类似
m_sName = sName;//不明白为什么大部分的代码都没有对变量名进行写法m_的修饰,这样不是更容易区分吗!!!
m_dSalary = dSalary;
}
public String getName()
{
return m_sName;
}
public void setName(String sName)
{
m_sName = sName;
}
public double getSalary()
{
return m_dSalary;
}
public void setSalary(double dSalary)
{
m_dSalary = dSalary;
}
//接口定义和实现,写在了一起,导致少量的定义代码,占用了大量的篇幅,不利于代码查看和维护
}