创建java类并实例化类对象
创建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类并实例化类对象的更多相关文章
- 140、Java内部类之实例化内部类对象
01.代码如下: package TIANPAN; class Outer { // 外部类 private String msg = "Hello World !"; class ...
- java和C#实例化类初始化顺序
c# 初始化顺序 子类的静态字段 子类的静态构造方法 子类的实例字段 父类的静态字段 父类的静态构造方法 父类的实例字段 父类的实例构造方法 java 初始化顺序 初始化过程: 1. 初始化父类中的静 ...
- java第2天:类,对象,封装和构造方法
1 面向对象简述 将 {1,3,45,56,78,90}转化为[1,3,45,56,78,90] 1-2 方法1:面向过程 代码块 public class test { public static ...
- Java类的定义与类的实例化
目录 Java类的定义与类的实例化 类的定义 定义一个简单的类 定义一个成员变量 定义一个方法 定义一个构造器 类的实例化 创建对象及使用对象: 创建对象的过程在内存中的表现 Java类的定义与类的实 ...
- Python第十六天 类的实例化
首先 , 先定义一个 简单的 Person 类 class Person: head = 1 ear = 2 def eat(self): print('吃饭') 关于什么是类, 定义类, 类对象,类 ...
- 编写一个带有main函数的类,调用上面的汽车类,实例化奔驰、大众、丰田等不同品牌和型号,模拟开车过程:启动、加速、转弯、刹车、息火,实时显示速度。
//程序入口 public static void main(String[] args) { // TODO Auto-generated method stub ...
- PHP类(一)-类的实例化
类的实例化就是对象.一个类可以分成两个部分,一个是静态描述,就是类里的成员属性.第二个是动态描述,就是类里的成员方法,也就是对象的功能. 声明一个类,可以在class前加一些关键字,如abstract ...
- 创建Java类并实例化深入理解
package com.sanguosha.java; import java.util.Scanner;//导入包 public class TestPerson { public static v ...
- 创建Java类并实例化的基本过程
package com.sanguosha.java; /* * 面向对象实现的过程 * 1.创建类并设计类的成员(成员变量即属性and成员方法即方法) * 2.通过类来创建类的对象,也称类的实例化 ...
随机推荐
- (转载)【Unity3D学习】获取鼠标点击所对应的GameObject
刚开始学习Unity 3D,新手遇到的坑都是泪对自由的抗争.直入主题~ 首先,为GameObject需要添加组件“Box Collider”. 然后,在脚本中的Update方法中添加如下代码. if( ...
- 比原链Bytom错误码一览
0XX API错误 BTM000", "Bytom API Error" 非比原标准错误 BTM001", "Request timed out&qu ...
- Linux 常用命令——文件处理命令
Linux 常用命令 Linux Linux命令格式 命令格式:命令 [-选项] [参数] 例如:ls -a /etc 说明: 1.当有多个选项时,可以写在一起 2.简化选项等于完整选项 -a = - ...
- Webpack + vue 搭建
前言: 为何使用webpack? 为何相对于gulp&grunt更有优势 WebPack(前往官网)可以看做是模块打包机:直接分析项目结构,找到JavaScript模块以及其它的一些浏览器不能 ...
- CentOS磁盘用完的解决办法,以及Tomcat的server.xml里无引用,但是项目仍启动的问题
这是我2018年的第一篇博客...人真是懒了啊...最近在写微信小程序,觉得小程序做的也... 好了不吐槽了,言归正传 前言: 由于我之前不是买了个三年的香港服务器么 , 之前广州2的服务器我就没有续 ...
- 聊聊Flume和Logstash的那些事儿
在某个Logstash的场景下,我产生了为什么不能用Flume代替Logstash的疑问,因此查阅了不少材料在这里总结,大部分都是前人的工作经验下,加了一些我自己的思考在里面,希望对大家有帮助. 本文 ...
- 继承ActionSupper类报错 --Struts2
如下图所示,继承ActionSupper类报错: 原因:缺少Struts2中JAR包,具体是:
- BFS 路径记录
有一迷宫 N*M,要求输出可通行的最短路径. 可以先倒着 BFS 一遍迷宫,这样 dis[] 数组储存的就是各点到迷宫终点的最短距离. 然后再从起点开始 BFS 一遍 dis[] ,只要满足 dis[ ...
- 漏洞复现——Apache SSI远程命令执行
漏洞原理:当目标服务器开启了SSI与CGI支持,我们就可以上传shtml文件,利用<!--#exec cmd="id" -->语法执行命令. SSI:SSI(服务器端包 ...
- CCF关于公开NOIP复赛选手程序的通告
为使参加NOIP复赛的选手能了解和保存其竞赛时编制的程序,并相互监督,CCF责成各省特派员在复赛后公开选手程序. 公布方式:以提高组和普及组分别为单位,通过网站或邮件等方式公开.以每个选手可以看到本省 ...