Java-day6、7 面向对象

目录

day 6

匿名类

封装

private

面向对象特征

类和对象的区别和联系

day 7

构造

static

public class

测试


day 6

匿名类

  • 无名字的类称为匿名类
  • 只调用一次方法或者作为参数传递的情况,比较适合匿名类,调用结束以后就是垃圾,可以被垃圾回收。

封装

  • 隐藏对象的属性和实现细节
  • 好处
    • 隐藏细节
    • 提高安全性
    • 提高复用性
  • 原则
    • 隐藏不需要对外提供的内容
    • 属性隐藏,提供公共方法对其访问

private

  • 属性私有
  • 设置set和get实现修改和读取

面向对象特征

  • 封装、继承、多态

类和对象的区别和联系

  • 类是对象的抽象,对象是类的具体
  • 对象是具有类类型的变量
  • 类是数据以及这些数据上的操作封装在一起

day 7

构造

  • 和类名相同,无返回
  • 两个构造
    • Person p1=new Person(a);
    • p1=new Person(b);
    • 此时开辟了一个新空间,把旧空间变成垃圾回收了
  • 构造函数无返回值(不需要void 或者int),可以加public也可以不加。
    • 加了public,包其他类都能构造
    • 不加public,包内类可以构造它
      • ​​​​​​​
    • public class和class的区别也是一样的

static

  • 静态变量
    • 静态变量一改全改
    • 将num类型设置为static类型,创建新类型
      • ​​​​​​​
    • 未赋值变量前,static类型的int默认为0
    • 创建完新对象,先前对象内的static类型变量一同修改
      • ​​​​​​​
  • 静态方法
    • 静态方法内没有this指针
    • 静态方法只能访问静态的成员变量和成员方法
  • 类中的静态方法和变量可以直接用 (类名.名称)的方式调用
    • ​​​​​​​

public class

  • 公共类
  • 同一个class内的static方法,可以直接调用方法
  • 同一个package中的公共类的static内容可以直接引用
  • 不同package加上 包名.类名.变量名
    • ​​​​​​​​​​​​​​
  • 当然,所有的类名都可以用对象名代替

测试

  • 猜数字,输入数字。
  • 超出范围,重新输入。 
  • 输入数字大了,提示大了并缩小范围;输入数字小了,提示小了并缩小范围。
  • import java.util.Scanner;
    
    public class GuessNum {
    	/*猜数字,输入数字
    	 * 超出范围,重新输入。
    	 * 输入数字大了,提示大了并缩小范围;输入数字小了,提示小了并缩小范围。
    	 * */
    	public static void main(String[] args) {
    		System.out.println("请输入数字(1-1000):");
    		Scanner sc=new Scanner(System.in);
    		int num=sc.nextInt();
    		int min=1,max=1000;
    		while(num<min||num>max) {
    			System.out.printf("超出范围,请重新输入,范围(%d-%d):\n",min,max);
    			num=sc.nextInt();
    		}
    		GuessNumTool obj=new GuessNumTool(num);
    		while(true){
    			System.out.printf("输入数字,范围(%d-%d):\n",min,max);
    			num=sc.nextInt();
    			while(num<min||num>max) {
    				System.out.printf("超出范围,请重新输入,范围(%d-%d):\n",min,max);
    				num=sc.nextInt();
    			}
    			obj.guess(num);
    			if(obj.flag==1) {
    				max=num;
    			}else if(obj.flag==-1) {
    				min=num;
    			}else if(obj.flag==0) {
    				break;
    			}
    		}
    		sc.close();
    	}
    }
    
    class GuessNumTool{
    	private int num;
    	public int flag;
    	public GuessNumTool(int a){
    		num=a;
    	}
    	public int guess(int a) {
    		if(a>num) {
    			System.out.println("数字大了,请重新输入");
    			flag=1;
    			return num;
    		}else if(a==num) {
    			System.out.printf("你猜对了,数字是%d\n",num);
    			return flag=0;
    		}else {
    			System.out.println("数字小了,请重新输入:");
    			flag=-1;
    			return num;
    		}
    		
    	}
    }

     

技术选型 【后端】:Java 【框架】:springboot 【前端】:vue 【JDK版本】:JDK1.8 【服务器】:tomcat7+ 【数据库】:mysql 5.7+ 项目包含前后台完整源码。 项目都经过严格调试,确保可以运行! 具体项目介绍可查看博主文章或私聊获取 助力学习实践,提升编程技能,快来获取这份宝贵的资源吧! 在当今快速发展的信息技术领域,技术选型是决定一个项目成功与否的重要因素之一。基于以下的技术栈,我们为您带来了一份完善且经过实践验证的项目资源,让您在学习和提升编程技能的道路上事半功倍。以下是该项目的技术选型和其组件的详细介绍。 在后端技术方面,我们选择了Java作为编程语言。Java以其稳健性、跨平台性和丰富的库支持,在企业级应用中处于领导地位。项目采用了流行的Spring Boot框架,这个框架以简化Java企业级开发而闻名。Spring Boot提供了简洁的配置方式、内置的嵌入式服务器支持以及强大的生态系统,使开发者能够更高效地构建和部署应用。 前端技术方面,我们使用了Vue.js,这是一个用于构建用户界面的渐进式JavaScript框架。Vue以其易上手、灵活和性能出色而受到开发者的青睐,它的组件化开发思想也有助于提高代码的复用性和可维护性。 项目的编译和运行环境选择了JDK 1.8。尽管Java已经推出了更新的版本,但JDK 1.8依旧是一种成熟且稳定的选择,广泛应用于各类项目中,确保了兼容性和稳定性。 在服务器方面,本项目部署在Tomcat 7+之上。Tomcat是Apache软件基金会下的一个开源Servlet容器,也是应用最为广泛的Java Web服务器之一。其稳定性和可靠的性能表现为Java Web应用提供了坚实的支持。 数据库方面,我们采用了MySQL 5.7+。MySQL是一种高效、可靠且使用广泛的关系型数据库管理系统,5.7版本在性能和功能上都有显著的提升。 值得一提的是,该项目包含了前后台的完整源码,并经过严格调试,确保可以顺利运行。通过项目的学习和实践,您将能更好地掌握从后端到前端的完整开发流程,提升自己的编程技能。欢迎参考博主的详细文章或私信获取更多信息,利用这一宝贵资源来推进您的技术成长之路!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值