面向对象:
只要具有特性和功能的,都叫做对象。
让对象之间产生关系,就是面向对象编程。
面向对象是软件开发方法,是一种编程思想,是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段的产物。
面向过程强调步骤,面向对象强调对象
类与对象:
相关概念:
万物皆对象
任何对象,一定具有自己的特征(属性,一般为名词,代表对象有什么)和行为(方法,一般为动词,代表对象能做什么)
例如手机,属性:品牌、颜色、价格、重量等;方法:发短信、接打电话
图纸:类;工厂:构造函数
汽车设计图纸规定了汽车所有的组成部分,即现实对象的模板,对应程序中的模板,即类
根据图纸创造出来的汽车,对应程序中的对象
成员变量,自动初始化
局部变量,必须初始化,作用于具体的代码块
两个变量可以同名
类的定义:
package lession6;
/**
*
* @author ithinkihere 定义当前类是Dog类 属性: 1.名字 2.品种 3.年龄 4.性别 5.毛色
*
* 方法: 1.吃 2.睡 3.叫
*
* 属性:通过变量表示,又称实例变量 语法:数据类型 属性名 位置:类的内部,方法的外部
*
* 方法:通过函数表示,又称实例方法
*
*/
public class Dog {
// 这里没有main方法
// 不需要为属性赋值
// 全局变量默认自动初始化
String name;
String bread;
int age;
String sex;
String color;
public void eat() {
System.out.println("eating!");
}
public void sleep() {
System.out.println("sleeping!");
}
public void cry() {
System.out.println("crying!");
}
}
类的使用:
package lession6;
/**
*
* @author ithinkihere 使用Dog类创建具体的狗对象 1.通过new 2.为对象的属性赋值 3.输出测试
*
*/
public class DogDemo {
public static void main(String[] args) {
// 1.new
Dog dog = new Dog();
// 2.查看默认值
System.out.println(
"名字:" + dog.name + ",品种:" + dog.bread + ",年龄:" + dog.age + ",性别:" + dog.sex + ",毛色:" + dog.color);
// 调用方法
dog.eat();
dog.sleep();
dog.cry();
// 3.特征赋值
dog.name = "旺财";
dog.bread = "土狗";
dog.age = 1;
dog.sex = "母";
dog.color = "棕黄";
// 4.查看赋值后的对象
System.out.println(
"名字:" + dog.name + ",品种:" + dog.bread + ",年龄:" + dog.age + ",性别:" + dog.sex + ",毛色:" + dog.color);
// 5.创新新的对象
Dog dog1 = new Dog();
// 6.特征赋值
dog1.name = "二哈";
dog1.bread = "哈士奇";
dog1.age = 2;
dog1.sex = "公";
dog1.color = "黑白花花";
// 7.查看赋值后的对象
System.out.println(
"名字:" + dog1.name + ",品种:" + dog1.bread + ",年龄:" + dog1.age + ",性别:" + dog1.sex + ",毛色:" + dog1.color);
}
}
补充示例:
package lession6;
/**
*
* @author ithinkihere 1.创建类 2.展示里面的属性 a.输出 b.返回 3.获取属性和设置属性 a.获取:getXXX
* b.设置:setXXX
*
*
*/
public class StudentDemo {
// java文件的文件名必须要和被public修饰的类的类名保持一致
public static void main(String[] args) {
// 定义张三
Student s1 = new Student();
s1.name = "张三";
s1.age = 20;
s1.className = "6班";
// System.out.println(s1.name+","+s1.age+","+s1.className);
// s1.showName();
// s1.showAge();
// s1.showClassName();
System.out.println(s1.getName() + "," + s1.getAge() + "," + s1.getClassName());
s1.setName("张三三");
System.out.println(s1.getName() + "," + s1.getAge() + "," + s1.getClassName());
// 定义李四
Student s2 = new Student();
s2.name = "李四";
s2.age = 22;
s2.className = "8班";
// System.out.println(s2.name+","+s2.age+","+s2.className);
// s2.showName();
// s2.showAge();
// s2.showClassName();
System.out.println(s2.getName() + "," + s2.getAge() + "," + s2.getClassName());
}
}
class Student {
String name;
int age;
String className;
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getClassName() {
return className;
}
// public void showName() {
// System.out.println(name);
// }
//
// public void showAge() {
// System.out.println(age);
// }
//
// public void showClassName() {
// System.out.println(className);
// }
public void setName(String newName) {
name = newName;
}
}