定义类的成员变量
类的定义包括“成员变量”的定义和“方法”的定义,其中“成员变量”用于描述该类型对象共同的数据结构。
Java语言中,类的成员变量的定义可以使用如下方法:
class类名{成员变量类型 变量名称}
成员变量的类型 1.数值类型(byte,short,int,long,float,double)2.Boolean型 3.char类型 4.引用类型
默认初始值 1.0 2.false 3./u0000 4.null
构造方法的语法格式:
1.构造方法是在类中定义的方法,不同于其他的方法,构造方法的定义有如下两点规则:
构造方法的名称必须与类名相同
构造方法没有返回值,但也不能写void
语法:【访问修饰符】类名(){
//构造方法体
}
tiis关键字用在方法中,用于指向调用该方法的当前对象,简单的说,哪个对象对用方法,this值得就是那个对象,严格的来讲,在方法中需要通过this关键字指明当前对象。
列如:public void drop(){
tiis.row++;}
继承:发现一些类中的属性和方法是相同的,所以把这些相同的属性和方法提取到一个新的类中,然后利用ectends关键字来让原来的类和新的类产生联系,这种联系称之为继承。
通过extends关键字可以实现类的继承;
子类可以继承父类的成员变量及成员方法,同时也可以定义自己的成员变量和成员方法;
Java语言不支持多重继承,一个类只能继承一个父类,但一个父类可以有多个子类。
重载与重写完全不同的语法现象,区别如下:
1.重载是指在一个类中定义多个方法名相同但参数列表不同的方法,在编译时,根据参数的个数和类型来决定绑定哪个方法。
2.重写是指在类中定义和父类完全相同的方法,在程序运行时,根据对象类型的不同(而不是引用类型),而调用不同的版本。
package day5;
/**
* 面向对象:
* 1.定义:
* 首先根据客户的需求抽象出业务逻辑对象;
* 然后对需求进行合理的分层;
* 构建对应的独立业务模块;
* 之后进行设计业务逻辑,利用封装,继承,多态,抽象的思想
* 实现实际业务需求;
* 最后通过整合各个模块,达到高内聚,低耦合的效果,从而满足客户的需求。
*
*
* @author Administrator
*
*/
public class OperatorDemo30 {
//姓名
String name;
//年龄
int age;
//性别
char gender;
//成绩
double score;
}
package day5;
public class OperatorDemo31 {
//成员变量
String name;
int age;
char gender;
char behavior;
//方法
public void eat(){
System.out.println("eat.....");
}
public void printInfo(){
System.out.println("姓名:"+name + ",年龄:"+ age + ",性别:"+gender);
}
}
package day5;
public class OperatorDemo32 {
public static void main(String[]args){
OperatorDemo31 p = new OperatorDemo31();
p.name = "如花";
p.age = 66;
p.gender = '女';
p.eat();
p.printInfo();
}
}
package day5;
public class OperatorDemo33 {
String brand;
int price;
String color;
public void printInfo(){
System.out.print("品牌:"+brand + ",价格:"+ price + ",颜色:"+color);
}
public void call(String name){
System.out.println("给" + name+ "打电话");
}
public void sendMessage(){
System.out.println("发短信");
}
}
package day5;
public class OperatorDemo34 {
public static void main(String[]args){
OperatorDemo33 phone= new OperatorDemo33();
phone.brand = "ipnone xs";
phone.price = 6666;
phone.color = "红色";
phone.call("张碧鸿");
phone.sendMessage();
phone.printInfo();
OperatorDemo33 phone1= new OperatorDemo33();
phone1.brand = "华为p30pro";
phone1.price = 4000;
phone1.color = "红色";
phone1.call("儿子");
phone1.sendMessage();
phone1.printInfo();
}
}
package day5;
/**
* 构造方法:
* @author Administrator
*
*/
public class OperatorDemo36 {
String name;
int age;
String address;
//构造方法
public OperatorDemo36(){
System.out.println("这就是一个构造方法:");
}
//构造方法的重载
public OperatorDemo36(String name){
this.name = name;
}
public OperatorDemo36(int age){
this.age = age;
}
//成员方法
public void printInfo(){
System.out.println("姓名:"+ name + ",年龄:" + age+",国家"+ address);
}
}
ackage day5;
public class OperatorDemo37 {
public static void main(String[]args){
OperatorDemo36 s = new OperatorDemo36();
s.name = "苍老师";
s.age = 20;
s.address = "东京";
s.printInfo();
OperatorDemo36 s1 = new OperatorDemo36("小花");
System.out.println(s1.name);
}
}