创建java类并实例化类对象例一
1.面向对象的编程关注于类的设计
2.设计类实际上就是设计类的成员
3.基本的类的成员,属性(成员变量)&方法

面向对象思想的落地法则一:
1.设计类,并设计类的成员(成员变量&成员方法)
2.通过类,来创建类的对象(也称作类的实例化)

public class zoo {
public static void main(String[] args) {
//基本数据类型的声明,数据类型 变量名=初始化值
//类的实例化:如a1就是一个对象
Animal a1=new Animal();
//通过对象调用属性
a1.name="阳阳";
a1.age=3;
System.out.println("name:"+a1.name+" age:"+a1.age);
//通过对象调用方法
a1.eat();
a1.sleep();
}
} class Animal{
//1.属性
String name;
int age;
//2.方法
public void eat(){
System.out.println("动物进食");
}
public void sleep(){
System.out.println("动物睡觉");
}
//getName是得到name的值
public String getName(){
return name;
}
//setName是给name设计一个值
public void setName(String n){
name=n;
}
}

二、创建多个对象,彼此各自拥有一套类的属性,当对其中一个属性进行修改时,不会影响到其他对象的属性
类对象的内存解析

public class zoo {
public static void main(String[] args) {
int i = 10;
//基本数据类型的声明,数据类型 变量名=初始化值
//类的实例化:如a1就是一个对象
Animal a1 = new Animal();
//通过对象调用属性
a1.name = "阳阳";
a1.age = 3;
System.out.println("name:" + a1.name + " age:" + a1.age);
//通过对象调用方法
a1.eat();
a1.sleep();
//再创建一个类的对象
Animal a2 = new Animal();
System.out.println("name:" + a2.name + " age:" + a2.age);
a2.name = "小花";
System.out.println("name:" + a1.name + " age:" + a1.age);
System.out.println("name:" + a2.name + " age:" + a2.age);
//a3不意味着相较于啊a1重新创建的一个对象,而是a1与a3公用一个对象实体
Animal a3 = a1;
System.out.println("name:" + a3.name + " age:" + a3.age);//与a1一样
a3.name = "维尼熊";
System.out.println("name:" + a1.name + " age:" + a1.age);
}
} class Animal {
//1.属性
String name;
int age; //2.方法
public void eat() {
System.out.println("动物进食");
} public void sleep() {
System.out.println("动物睡觉");
} //getName是得到name的值
public String getName() {
return name;
} //setName是给name设计一个值
public void setName(String n) {
name = n;
} }

三、类的属性(成员变量)
成员变量vs局部变量
局部变量:是在某个方法中的变量
成员变量:在类中定义的变量
在类中没有在其他方法中定义的变量就是成员变量
如public class tip{
int j=10;
}
这个里面的j就是成员变量

public void setName(String n){}
中的n就是一个局部变量
或者是在方法里面定义的也叫局部变量如:
public void addAge(){
int i=2;
age +=i;
}
中的int i=2;这个也是局部变量
成员变量和局部变量的相同点:
1.格式都一样: 数据类型 变量名 = 初始化值
2.都有作用域:局部变量作用在它所存在的方法中,方法变量作用在它所存在的类中。
一旦出了它们所存在的范围就不能使用,除非通过对象的调用(如:.name来调用)

成员变量和局部变量的不同点:
1.声明的位置不同:成员变量声明在类里,方法外。局部变量声明在方法内,和方法的形参部分(public void setName(String n){}的n)
代码块内
2.成员变量的修饰符有四个:public、private、protected、缺省(就是省略不写)(如public class v{
int b=2;
}这里的int前面可以加修饰符)
局部变量没有修饰符,与所在的方法修饰符一样(如public void addAge(){
int i=2;
age +=i;
}这里的i是局部变量,修饰符就是方法的修饰符public)
3.初始化值:无论哪种变量都有初始化值,成员变量如果没有赋值不同的数据类型则有默认的初始化值。
局部变量一定要显示赋值,因为局部变量没有默认的初始化值
4.二者在内存中存放的位置不同:成员变量存在于堆空间中,局部变量存在于栈空间中
四、类的方法:提供某种功能的实现
1.格式:权限修饰符(public、private、protected、缺省(就是省略不写)) 返回值类型(void:无返回值/具体返回值) 方法名(形参,String等){}

2.关于返回值类型:void,表明不需要返回值。
如:public void eat{
System.out.println("进食");
}
有返回值的类型:在方法最后一定有return+返回值类型对应的变量
如:public int getAge(){
return age;
}
记忆:void与return不能同时出现在一个方法内,像一对冤家
3.方法内可以调用本类的其他方法或属性,但是不能在方法内定义方法

//(1)
public class W {
String name;
int age;
String sex; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public String getSex() {
return sex;
} public void setSex(String sex) {
this.sex = sex;
} public void study(){
System.out.println("studying");
}
public void showAge(){
System.out.println(age);
}
public int addAge(int i){
age+=i;
return age;
} public static void main(String[] args) {
W a=new W();
a.study();
a.showAge();
a.addAge(2);
a.showAge();//相等于System。out。println(a.age);
System.out.println();
//(2)
W b=new W();
b.showAge();
a.showAge();
}
}
public class circle {
public static void main(String[] args) {
Tcircle c1=new Tcircle();
c1.r=2.3;
c1.findArea();
}
}
class Tcircle{
double r=1.0;
//提供一个方法,用来获取圆的面积
public void findArea(){
System.out.println(3.14 * r * r);
}
}

创建java类并实例化类对象的更多相关文章

  1. 140、Java内部类之实例化内部类对象

    01.代码如下: package TIANPAN; class Outer { // 外部类 private String msg = "Hello World !"; class ...

  2. java和C#实例化类初始化顺序

    c# 初始化顺序 子类的静态字段 子类的静态构造方法 子类的实例字段 父类的静态字段 父类的静态构造方法 父类的实例字段 父类的实例构造方法 java 初始化顺序 初始化过程: 1. 初始化父类中的静 ...

  3. java第2天:类,对象,封装和构造方法

    1 面向对象简述 将 {1,3,45,56,78,90}转化为[1,3,45,56,78,90] 1-2 方法1:面向过程 代码块 public class test { public static ...

  4. Java类的定义与类的实例化

    目录 Java类的定义与类的实例化 类的定义 定义一个简单的类 定义一个成员变量 定义一个方法 定义一个构造器 类的实例化 创建对象及使用对象: 创建对象的过程在内存中的表现 Java类的定义与类的实 ...

  5. Python第十六天 类的实例化

    首先 , 先定义一个 简单的 Person 类 class Person: head = 1 ear = 2 def eat(self): print('吃饭') 关于什么是类, 定义类, 类对象,类 ...

  6. 编写一个带有main函数的类,调用上面的汽车类,实例化奔驰、大众、丰田等不同品牌和型号,模拟开车过程:启动、加速、转弯、刹车、息火,实时显示速度。

    //程序入口    public static void main(String[] args) {        // TODO Auto-generated method stub         ...

  7. PHP类(一)-类的实例化

    类的实例化就是对象.一个类可以分成两个部分,一个是静态描述,就是类里的成员属性.第二个是动态描述,就是类里的成员方法,也就是对象的功能. 声明一个类,可以在class前加一些关键字,如abstract ...

  8. 创建Java类并实例化深入理解

    package com.sanguosha.java; import java.util.Scanner;//导入包 public class TestPerson { public static v ...

  9. 创建Java类并实例化的基本过程

    package com.sanguosha.java; /* * 面向对象实现的过程 * 1.创建类并设计类的成员(成员变量即属性and成员方法即方法) * 2.通过类来创建类的对象,也称类的实例化 ...

随机推荐

  1. jquery easyui的应用-2

    有两个版本: freeware edition, commercial edition easyui的 datagrid 实际上是一个table, 其数据来源 通过 url属性来从后台的php页面 获 ...

  2. MyBatis进阶(三)

    MyBatis批量新增数据 1. 传统的JDBC批量插入数据 使用for循环 创建连接 获取连接 创建sql语句,交给连接 使用for循环新增数据 提交连接 使用批处理 两者都存在严重的效率问题,代码 ...

  3. python from entry to abandon2

    学习Linux已经有大致两周了,依然感觉到自己仍然在运维的大门外徘徊.于是我想要找到一个在Linux之外的业余方向,可以以作为枯燥基础学习的调节.没过多久我就发现了Python可以说是钦定的选择,它作 ...

  4. JxBrowser之五:清除cache和cookie以及SSL证书处理

    1.清除cache和cookie //清除cache browser.getCacheStorage().clearCache(); browser.getLocalWebStorage().clea ...

  5. 2018 ACM-ICPC, Syrian Collegiate Programming Contest

    2018 ACM-ICPC, Syrian Collegiate Programming Contest A Hello SCPC 2018! 水题 B Binary Hamming 水题 C Por ...

  6. CentOS 7安装后的配置

    一.设置IP地址.网关DNS 说明:CentOS 7.x默认安装好之后是没有自动开启网络连接的,所 以需要我们自己配置. 在命令行输入#vi  /etc/sysconfig/network-scrip ...

  7. English trip V2 - A 1. Fastival Teacher:Julia Key:

    In this lesson you will learn to talk about dates and times. 课上内容(Lesson) Tell your tutor about a fe ...

  8. 填写数独 洛谷P1784

    题目链接:https://www.luogu.org/problemnew/show/P1784 因为要求行列以及每9个数字组成的中格子都得有1-9这9个数,我们不妨建三个二维数组 第一维代表是第几个 ...

  9. 封装一个使用cURL以POST方式请求https协议的公众方法

    打开php7.2手册,搜索curl function getRequest($url,$type='get', $data = [], $timeout = 10) (需要更改){ $ssl = st ...

  10. libcurl编译使用,实现ftp功能

    Libcurl实现ftp的下载,上传功能.版本为curl-7.63.0 1.编译vs2015 参考资料:https://blog.csdn.net/yaojingkao/article/details ...