一、面向对象
1、一种编程思想,描述生活中具体的事物,将现实生活中的事物变成数据放入java当中(本质使用的是数据)
2、面向过程也是一种变成思想,但是什么东西都是自己造
二、类与对象
类:一类事物的总和,抽象的,不具体的,当作是一个模板,比如:猪这一类事物(模板),人这一类事物,汽车这一类事物。。。。
//这样我就创建了一个猪类
public class Pig{
//猪类当中的静态属性(字段)
string name;
//动态行为,猪都有的行为,并且是动态的
void eat(){
System.out.println("吃饭");
}
}
对象:就是类具体的实现,复制模板,不是抽象的,而是具体的,比如:在猪类这一个模板基础上,复制一个复印件,产生出小猪佩奇,这么一个具体的猪。
三、对象的创建
1、暂时:
new 类名() --------------->创建对象,就是复制模板,创一个具体的猪或者人
public class test{
public static void main(String args[]){
//实例化一个对象,相当于在模板复制一个复印件,成为一个具体的对象
//p 是变量名
PIg p = new Pig();
//给对象取名字,叫做佩奇, 变量名.字段名
p.name = "佩奇";
//这时候就存在一个叫做佩奇的猪
}
}
/*
设计一个猪的模板,里面有名字这个属性
对象复制这个模板,对象里面的代码跟类里面的一模一样的,只是看不见,但是可以参照类里面来观看对象当中的代码
*/
public class Pig{
//这个叫做静态属性
String name;
//这个方法叫做动态行为,想一下所有的猪都有吃饭的行为
void eat(){
}
}
四、构造方法
/*
1、用来创建对象 通过main方法中 new Pig()调用类中无参构造方法
2、给对象赋初始值
*/
public class Test{
public static void main(string args[]){
//new Pig()调用类里面的无参构造方法创建对象,并且将对象的地址复制给p这个变量
Pig p1 = new Pig();
//调用有参构造方法,并且赋值给字段
Pig p2 = new Pig("佩奇");
}
}
public class Pig{
//静态属性(字段)
string name;
/*
构造方法,跟普通方法差不多,但是没有返回值也就是void那个
地方,方法名跟对象名一模一样
*/
//这是一个无参构造方法
public Pig(){
}
//这是一个有参构造方法
public Pig(string ss){
//给类里面name字段赋值,从右往左赋值通过 =(赋值符号) 赋值
name = ss;
}
//普通方法,因为有返回值 void ,可以跟类名一致(不建议这样用)
void Pig(){
}
}