java8 对象定义_JAVA–2018-8-21 类定义,类方法,对象

package come.southwind.test;

public class Teacher {

//属性:描述静态特征

public string name;

public int age;

public char gender;

//方法:描述动态功能

public void teach() {

system.out.println("老师上了一节课");

}

public string level(int score) {

/**

* score>=90:优秀

*80<=score<90:良好

*60<=score<80:中等

*score<60:差

*/

String result = "";

if(score>=90){

result = "优秀";

}else {

if(score>=80){

result = "良好";

}else{

if(score>=60) {

result = "中等";

}else{

result = "差";

}

}

}

}

}

新建类,开始引用teacher 方法

每一个类都有一个默认的无参函数。

pacakge come.southwind.test;

public clase Test{

public static void main(String[] args){

//创建teacher对象

Teacher teacher = new Teacher();

System.out.println(teacher);   /堆栈内存的地址

Teacher teacher2 = new Teacher();

System.out.println(teacher2);   /堆栈内存的地址

}

}

类是静态的,写完之后就存在于硬盘中

对象是动态的,随着程序的运行而创建,同时随着程序的关闭而销毁

JVM中类只有一份,对象有多份。

类的静态特征通过属性来描述

类的动态功能通过方法来描述

null指空指针,内存地址的一个值,指空,不存在。

垃圾会有机制 GC: 是一个独立的巡查线程, GC 是一个定时任务。隔一段时间执行一次。

GC, Main

应用类型的变量尅赋值null

基本数据类型的变量不能赋值null;

基本数据在栈内存中开辟空间,同时直接将具体数值保存在栈章

引用类型在栈中开辟空间,同时在堆中创建队形,将堆内内存的地址保存在栈中

虽然属性和方法是类中定义的

但是如果需要访问属性或者调用方法,必须通过对象来完成,不能通过类来完成

方法调用需要注意的事项:

参数的数据类型,顺序必须与类中方法定义时的列表一致

基本数据类型传递是变量的值,在方法内部改变变量的值

并不会影响到外部调用该方法时传入的变量值

引用数据类型传递是地址

一个景区根据游人的年龄收取不同价格的门票;

编写游人类,根据年龄段决定门票价格并输出。

创建一个类

第一个类

package come.southwind.test;

public class Person{

public String name;

public int age;

public Person

}

第二个类

package come.southwind.test;

public class Admin{

public int getPrice(){

int price = 0;

if(age >= 18){

price = 20;

}

return price;

}

}

创建场景

package come.southwind.test;

import java.util.Scanner;

public class Test2 {

public static void main(String[] args){

Scanner scanner = new Scanner(System.in);

System.out.print("请输入游客姓名:");

String name = scanner.netx();

System.out.print("请输入游客年龄:");

int age = scanner.nextInt();

Person person = new Person(name,age);

Admin admin = new Admin();

int price = admin.getPrice(person.age);

if(price == 0){

System.out.println("游客"+person.name+"的年龄是"+person.age+",门票免费");

}else {

System.out.println("游客"+person.name+"的年龄是"+person.age+",应该收取的门票价格是"+price);

}

}

}

5位学员参加了JAVA知识竞赛,输出竞赛的平均成绩和最高成绩,定义一个工具类来完成。

相同数据变量出现是,利用数组类型来代替。

package come.southwind.test;

public class ScoreTools{

public void result(int[] array){

//1.求平均分

int sum = 0;

for(int score:array){

sum+=score;

}

float avg = sum/array.lenth;

//2.求最高分

int max = array[0];

for(int i = 1;i

int score

}

for(int score:array){

if(score > max){

max = score;

}

}

}

}

测试类

package com.southwind.test;

public calls Test3 {

public static void main(String[] args){

int[]  array = {70,50,80,90,100};

int[]  array = {66,77,88,99,73,84};

ScoreTools st = new ScoreTools();

st.result(array);

st.result(array2);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值