面向对象
1、面向对象是一种编程思想
2、面向对象是一种思考问题的思维方式
建立面向对象的思维方式
1、先整体,再局部
2、先抽象,再具体
3、能做什么,再做什么
类
1、类:类是:分类、类别
2、通过分类,我们可以区别不同的事物种类,在日常生活中,我们常常这样做
3、类是一组具有相同特性(属性)与行为(方法)的事物集合
类与对象的关系
1、类表示一个共性产物,是一个综合的特征,而对象,是一个个性产物,是一个个体的特征
2、类由属性和方法组成:
属性:就相当于一个个的特征
方法:就想当于人的一个个的行为,例如:吃饭,睡觉,唱歌
对象的定义格式
类名称 对象名称 = new 类名称();
如果要访问类中的属性或方法(方法的定义),则可以依靠以下的语法形式:
访问类中的属性:对象.属性
调用类中的方法:对象.方法
在java中对象声明有两种含义
声明对象:Person per = null;//表示声明了一个对象,但是此对象无法使用,per没有具体的内存指向
实例化对象:per = new Person();//表示实例化了对象,可以使用
new关键字深入
例1:设计一个猪类
class homeWork8
{
public static void main(String[] args)
{
Pig p = new Pig();
p.name = "猪";
p.age = 14;
p.weigth = 32;
p.sleep();
p.eat();
p.say();
}
}
class Pig
{
String name;
int age;
int weigth;//体重
void sleep()
{
System.out.println("我很能睡");
}
void eat()
{
System.out.println("我是猪,我什么都能吃");
}
void say()
{
System.out.println("我的名字叫:"+name+",年龄:"+age+",体重:"+weigth+"kg");
}
}
封装的概念
1、封装是面向对象思想的三大特征之一
2、封装就是隐藏实现细节。仅对外提供访问接口
封装有:属性的封装,方法的封装,类的封装,组件的封装,模块化封装,系统级封装.....
封装的好处:模块化、信息隐藏、代码重用、插件化易于调试、具有安全性
get set方法:
/**
属性的封装
*/
class Fengzhuang
{
public static void main(String[] args)
{
Person p = new Person();
//p.name = "人";
//p.age = 13;
p.setName("小白");
p.say();
}
}
class Person
{
private String name;
private int age;
//属性的读写方法
public void setName(String name)
{
this.name = name;//this name表示前一个name,=name 表示后面一个setName里面的name
}
public String getName()
{
return name;//表示的是第一个name
}
void say()
{
System.out.println("我的名字是:"+name+",年龄:"+age+"岁");
}
}