类与对象:
类,有分类的意思并 、不是一个对象就一个类,发现他们的共同属性和方法,集合在一起,申请一个类。
对象的模板、一个类可以产生很多个对象
对象是虚拟的,要想在代码中实现出来就必须申请类
类的声明举例:
public class Dog {//这里就是一个简单的类、狗的类
//只要跟狗相关的都在这个类中,用的话创建对象调用就行了
String name;
String Chi;
String Jiao;//以上都是属性
//每个对象都有新的内存所以,新建对象不存在重复
public void name() {
System.out.println("小狗的名字" + name);
}
public void Chi() {
System.out.println("小狗吃什么" + Chi);
}
public void Jiao() {
System.out.println("小狗怎样叫" + Jiao);
}
}
对象:
new 类名(); 这才是创建对象
new对象就是创建一片新的内存给你进行管理
方法和变量组合
//创建了一个Student类型的变量
Student student;
//创建一个对象 就是向内存申请一片空间分配属性
//然后将内存地址交于student变量
student=new Student();
//点这个符号 是属性和方法的访问符号
student.name="王麻子";
student.address="重庆";
student.sex="男";
student.age=43;
静态和实例:
类是模板,也是一个对象,叫模板对象(创建对象就是在设计模板,调用类就是往模板之中填充内容)
我们在类中设计的属性和方法都是给对象设计的,产生对象后才可以用对象访问
模板是不是也应该拥有自己的方法和属性呢? 类的方法和属性就是静态属性和方法
静态? 就是为类设计的成员 叫静态成员 类成员 (但是有一点所有的静态成员用的都是同一片内存)
实例? 就是为产生的对象设计的成员 叫实例成员 对象成员
成员 属性和方法
静态成员直接可以用类名或者产生的对象访问
实例成员必须产生对象后才能使用
public class Dog {//这里就是一个简单的类、狗的类
//只要跟狗相关的都在这个类中,用的话创建对象调用就行了
String name;
String Chi;//这里是实例属性
static String Jiao = "旺旺";//这里就是静态成员只要加上static 就是实例成员中的实例属性还有是实例方法
//实例成员的内存是单独的,无论你创不创建对象
//每个对象都有新的内存所以,新建对象不存在重复
public void name() {
System.out.println("小狗的名字" + name);
}
public void Chi() {
System.out.println("小狗吃什么" + Chi);
}
public void Jiao() {
System.out.println("小狗怎样叫" + Jiao);
}
public static void main(String[] args) {
System.out.println(Dog.Jiao);//实例成员可以直接通过类名来调用
Dog.Jiao = "啦啦";
System.out.println(Dog.Jiao);//这里说明他的内存空间是单独存在的
//但是如果想调用实例成员就创建对象例如调用 实例方法jiao
Dog dog = new Dog();
dog.Jiao();
}
}
在类的代码中:
静态成员不可以访问实例成员(因为实例成员是创建对象后才会生成,充满的不确定)
实例成员可以访问静态成员(因为实例成员独立的内存你创不创建对象他都在)
public class Dog {//这里就是一个简单的类、狗的类
static String name = "小王";
String jiao;
public void name() {//实例成员可以调用静态成员的员原因是静态成员的内存空间是确定的
System.out.println(name);
}
public static void jiao() {
//原因是对象还没创建内存不确定,内存都还没分配如何调用
System.out.println(jiao);//Error:(13, 28) java: 无法从静态上下文中引用非静态 变量 jiao
}
}