创建对象
类名 对象名=new 类名();
使用对象
使用成员变量 对象名.变量名
使用成员方法 对象名.方法名();
创建多个对象时
成员变量值不同,但是方法多个对象公用

package smile;
//创建一个包
import java.util.*;
public class main1 {public static void main(String args[]){Student s=new Student();System.out.println(s);//输出地址值smile.Student@1b6d3586,包名加类名System.out.println(s.name+","+s.age);//s中成员变量name默认值null,age默认0Scanner input=new Scanner(System.in);s.name=input.next();//s.name="lihua";s.age=19;System.out.println(s.name+","+s.age);//输出lihua,19s.study();s.doHomework();Student s1=s;//s1与s指向同一地址System.out.println(s1.name+","+s1.age);}
}
class Student {String name;int age;public void study(){System.out.println("好好学习");}public void doHomework(){System.out.println("做练习");}
}

成员变量:类中方法外的变量
局部变量:方法中的变量(方法形参的基础上也是局部变量)

封装
private关键字
权限修饰符
可以修饰成员变量和成员方法
作用:保护成员不被别的类使用,被privat修饰的成员只在本类中才能访问
被privat修饰的成员变量如果需要被其他类使用,提供相应操作
“get变量名()”方法,用于获取成员变量的值,方法用public修饰
“set变量名(参数)”方法,用于设置成员变量的值,方法用public修饰

//举例1
package smile;
//创建一个包
import java.util.*;
public class main1 {public static void main(String args[]){Student s=new Student();Scanner input=new Scanner(System.in);s.name=input.next();//name不是私有成员变量,故在其它类中可以访问//s.age=20;//age是私有成员变量,其他类不可以直接访问s.setAge(20);//需要用setage()方法设置s.show();}
}
class Student {String name;private int age;//提供get/set方法public void setAge(int a){//set方法,设置age的值if(a<0){System.out.println("年龄有误");}else{age=a;}}public int getAge(){//get方法,获取age的值return age;}public void show(){System.out.println(name+","+age);}
}
//举例2
package smile;
//创建一个包
import java.util.*;
public class main1 {public static void main(String args[]){Student s=new Student();s.setName("lihua");s.setAge(20);System.out.println(s.getName()+","+s.getAge());}
}
class Student {private String name;private int age;//提供get/set方法public void setAge(int a){//set方法,设置age的值age=a;}public int getAge(){//get方法,获取age的值return age;}public void setName(String n){//set方法,设置age的值name=n;}public String getName(){//get方法,获取age的值return name;}public void show(){System.out.println(name+","+age);}
}

this关键字



构造方法

package smile;
//创建一个包
import java.util.*;
public class main1 {public static void main(String args[]){Student s=new Student();s.show();Student s1=new Student("lihua");s1.show();Student s2=new Student(20);s2.show();Student s3=new Student("lihua",20);s3.show();}
}
class Student {private String name;private int age;//构造方法public Student(){}public Student(String name){this.name=name;}public Student(int age){this.age=age;}public Student(String name,int age){this.name=name;this.age=age;}public void show(){System.out.println(name+","+age);}
}
/*输出null,0
lihua,0
null,20
lihua,20
*/

Java-类和对象、关键字、构造方法相关推荐

  1. JAVA类和对象(构造方法、方法重载、this关键字)

    Java是一门完全面向对象的编程语言:类和对象是面向对象编程的基础和核心. 面向对象的编程思想是来源于现实生活:面向对象编程是使用代码来模拟现实生活中的场景. 1.现实生活中有哪些是对象? 对象:在现 ...

  2. 学习-Java类和对象之构造方法与对象创建之求椭圆面积

    任务描述 本关任务:已知椭圆的短半轴长为 15.50,长半轴的长为 20.00,计算椭圆面积. 椭圆的面积公式为S=πab,其中a.b分别为椭圆的短半轴长和长半轴长. 相关知识 为了完成本关任务,你需 ...

  3. 杨校老师课堂之Java类与对象、封装、构造方法

    杨校老师课堂之Java类与对象.封装.构造方法 本篇文章内容如下: 面向对象 类与对象 三大特征--封装 构造方法 教学目标 能够理解面向对象的思想 能够明确类与对象关系 能够掌握类的定义格式 能够掌 ...

  4. java 类与对象、封装、构造方法

    java 类与对象.封装.构造方法 面向对象 类与对象 三大特征--封装 构造方法 第1章 面向对象思想 1.1 面向对象思想概述 概述 Java语言是一种面向对象的程序设计语言,而面向对象思想是一种 ...

  5. 【Java类和对象】

    Java类和对象 在Java简介中就有介绍到,Java是一门面向对象的编程语言,在面向对象的编程语言中,肯定离不开对象这个概念,而对象则是类的实例,所以也肯定离不开类这个概念.简单的来说就是,在Jav ...

  6. 【Java】第7章 Java 类和对象 头歌Educoder实训作业(七)

    第1关:练习-Java类和对象之类的声明之复数运算 任务描述 本关任务:求两个复数相加后的结果. 两个复数之间相加的运算法则:实部与实部相加,虚部与虚部相加. 关于复数的定义,可以自行查阅,本实训不做 ...

  7. java类与对象(超详细!)

    3. 类与对象 3.1 面向对象编程三特性: 封装 继承 多态 3.2 类的编写 java是面向对象语言,类是基本要素,一个java程序就是由若干类组成. 何为对象?对象就是用类声明的变量. 如何编写 ...

  8. JAVA类和对象(1)

    JAVA类和对象 1.类和对象的初步认识 2.类的实例化 3.类的成员 3.1 字段/属性/成员变量 3.2 null 3.3 引用的指向 3.3 方法 (method) 3.4 static关键字 ...

  9. Java类中this关键字和static关键字的用法详解

    今天给大家总结介绍一下Java类中this关键字和static关键字的用法. 文章目录 this关键字用法: 1:修饰属性,表示调用类中的成员变量 2:this修饰方法 3:this表示当前对象的引用 ...

  10. 实验2 Java类和对象的设计

    实验题目:Java类和对象的设计 一.上机目的和要求 理解面向对象的编程思想.类与对象的概念: 加深理解封装性.继承性和多态性: 掌握this.super.final.static等关键字的使用: 掌 ...

最新文章

  1. 超级干货丨优美的课程笔记,吴恩达点赞的深度学习课程信息图
  2. 打不开添加删除程序的故障
  3. Vue 单文件组件||Vue 单文件组件的基本用法||webpack 中配置 vue 组件的加载器|| 在 webpack 项目中使用 vue
  4. 交换机的4种网络结构方式你知道是什么吗?
  5. 【活动回顾】Edge X Kubernetes,探索云原生新边界
  6. 还不会python面相对象?活该单身(面向对象基础+交互关系)
  7. python3 open打开文件_Python3基础 file open 打开txt文件并打印出全文
  8. magento 自动发送跟踪号_光伏电站自动跟踪集散控制系统的研究
  9. Excel技巧 一秒取消合并单元格,让你的取消合并操作简单快捷
  10. c++ 优先队列(priority_queue)
  11. scala windows搭建开发环境
  12. ddPCR--数字微滴PCR
  13. 查看git HEAD
  14. [PAT A1028]List Sorting
  15. html js正则表达式语法,js正则表达式 非中文_js正则表达式匹配中文_js正则表达式语法...
  16. 导入maven项目,报错Cannot read lifecycle mapping metadata for artifact org.apache.maven.plugins:mav
  17. 计算机网络微课堂CSMA/CD协议-争用期碰撞时刻以及收到碰撞信号的时间时间的推导
  18. 【scrapy实战】获取我的博客信息
  19. Scala 的安装教程
  20. Dirty Pipe脏管道提权漏洞复现(CVE-2022-0847)

热门文章

  1. swiper动态加载数据滑动失效,ajax执行后swiper.js的效果消失问题
  2. Request介绍及演示样例 PART1
  3. spring resttemplate中的转码
  4. 从网页上考的代码考到eclipse里面,会出现每行开头的空格下面有红色异常提示,为什么?...
  5. APP动态界面设计使用的利与弊
  6. oracle体系结构视频学习笔记
  7. LINUX操作系统的内核编译内幕详解一
  8. 7天学完Java基础之4/7
  9. 正则表达式(一) -- 元字符(转)
  10. javascript 容错处理代码(屏蔽js错误)